// every 0 0$1 trigger filterallunits ( [ [ f_side , 8 ] , [ f_type , unit_human ] ] ) < 9 marked 10 do
   0: LD_INT 22
   2: PUSH
   3: LD_INT 8
   5: PUSH
   6: EMPTY
   7: LIST
   8: LIST
   9: PUSH
  10: LD_INT 21
  12: PUSH
  13: LD_INT 1
  15: PUSH
  16: EMPTY
  17: LIST
  18: LIST
  19: PUSH
  20: EMPTY
  21: LIST
  22: LIST
  23: PPUSH
  24: CALL_OW 69
  28: PUSH
  29: LD_INT 9
  31: LESS
  32: IFFALSE 44
  34: GO 36
  36: DISABLE
// begin Youlost ( die ) ;
  37: LD_STRING die
  39: PPUSH
  40: CALL_OW 104
// end ;
  44: END
// every 0 0$1 trigger filterallunits ( [ [ f_side , 8 ] , [ f_type , unit_human ] ] ) < 10 marked 11 do
  45: LD_INT 22
  47: PUSH
  48: LD_INT 8
  50: PUSH
  51: EMPTY
  52: LIST
  53: LIST
  54: PUSH
  55: LD_INT 21
  57: PUSH
  58: LD_INT 1
  60: PUSH
  61: EMPTY
  62: LIST
  63: LIST
  64: PUSH
  65: EMPTY
  66: LIST
  67: LIST
  68: PPUSH
  69: CALL_OW 69
  73: PUSH
  74: LD_INT 10
  76: LESS
  77: IFFALSE 89
  79: GO 81
  81: DISABLE
// begin Youlost ( die ) ;
  82: LD_STRING die
  84: PPUSH
  85: CALL_OW 104
// end ;
  89: END
// every 0 0$1 trigger filterallunits ( [ [ f_side , 8 ] , [ f_type , unit_human ] ] ) < 11 marked 12 do
  90: LD_INT 22
  92: PUSH
  93: LD_INT 8
  95: PUSH
  96: EMPTY
  97: LIST
  98: LIST
  99: PUSH
 100: LD_INT 21
 102: PUSH
 103: LD_INT 1
 105: PUSH
 106: EMPTY
 107: LIST
 108: LIST
 109: PUSH
 110: EMPTY
 111: LIST
 112: LIST
 113: PPUSH
 114: CALL_OW 69
 118: PUSH
 119: LD_INT 11
 121: LESS
 122: IFFALSE 134
 124: GO 126
 126: DISABLE
// begin Youlost ( die ) ;
 127: LD_STRING die
 129: PPUSH
 130: CALL_OW 104
// end ;
 134: END
// every 0 0$1 trigger filterallunits ( [ [ f_side , 8 ] , [ f_type , unit_human ] ] ) < 12 marked 13 do
 135: LD_INT 22
 137: PUSH
 138: LD_INT 8
 140: PUSH
 141: EMPTY
 142: LIST
 143: LIST
 144: PUSH
 145: LD_INT 21
 147: PUSH
 148: LD_INT 1
 150: PUSH
 151: EMPTY
 152: LIST
 153: LIST
 154: PUSH
 155: EMPTY
 156: LIST
 157: LIST
 158: PPUSH
 159: CALL_OW 69
 163: PUSH
 164: LD_INT 12
 166: LESS
 167: IFFALSE 179
 169: GO 171
 171: DISABLE
// begin Youlost ( die ) ;
 172: LD_STRING die
 174: PPUSH
 175: CALL_OW 104
// end ; end_of_file
 179: END
// starting begin disable ( 11 ) ;
 180: LD_INT 11
 182: DISABLE_MARKED
// disable ( 12 ) ;
 183: LD_INT 12
 185: DISABLE_MARKED
// disable ( 13 ) ;
 186: LD_INT 13
 188: DISABLE_MARKED
// LicznikObrony = 0 ;
 189: LD_ADDR_EXP 39
 193: PUSH
 194: LD_INT 0
 196: ST_TO_ADDR
// InGameON ;
 197: CALL_OW 8
// resetfog ;
 201: CALL_OW 335
// RandomizeAll ;
 205: CALL_OW 11
// PrepareEastLegion ;
 209: CALL 2030 0 0
// PrepareMerchant ;
 213: CALL 2388 0 0
// PrepareArabian ;
 217: CALL 3721 0 0
// PrepareRussian ;
 221: CALL 6372 0 0
// PrepareNature ;
 225: CALL 12069 0 0
// centeronunits ( mules ) ;
 229: LD_EXP 1
 233: PPUSH
 234: CALL_OW 85
// Say ( mules , b1 ) ;
 238: LD_EXP 1
 242: PPUSH
 243: LD_STRING b1
 245: PPUSH
 246: CALL_OW 88
// Say ( immortal , b2 ) ;
 250: LD_EXP 8
 254: PPUSH
 255: LD_STRING b2
 257: PPUSH
 258: CALL_OW 88
// Say ( immortal , b3 ) ;
 262: LD_EXP 8
 266: PPUSH
 267: LD_STRING b3
 269: PPUSH
 270: CALL_OW 88
// Say ( gizold , b4 ) ;
 274: LD_EXP 3
 278: PPUSH
 279: LD_STRING b4
 281: PPUSH
 282: CALL_OW 88
// SetAreaMapShow ( area08 , 1 ) ;
 286: LD_INT 1
 288: PPUSH
 289: LD_INT 1
 291: PPUSH
 292: CALL_OW 424
// SaveForQuickRestart ;
 296: CALL_OW 22
// ChangeMissionObjectives ( C1 ) ;
 300: LD_STRING C1
 302: PPUSH
 303: CALL_OW 337
// InGameOff ;
 307: CALL_OW 9
// end ;
 311: END
// every 0 0$1 trigger GetDistUnits ( Mules , Rambo ) <= 16 do
 312: LD_EXP 1
 316: PPUSH
 317: LD_EXP 11
 321: PPUSH
 322: CALL_OW 296
 326: PUSH
 327: LD_INT 16
 329: LESSEQUAL
 330: IFFALSE 809
 332: GO 334
 334: DISABLE
// begin SetAreaMapShow ( area08 , 0 ) ;
 335: LD_INT 1
 337: PPUSH
 338: LD_INT 0
 340: PPUSH
 341: CALL_OW 424
// CenterNowOnUnits ( rambo ) ;
 345: LD_EXP 11
 349: PPUSH
 350: CALL_OW 87
// InGameOn ;
 354: CALL_OW 8
// ComMoveXY ( Mules , 127 , 81 ) ;
 358: LD_EXP 1
 362: PPUSH
 363: LD_INT 127
 365: PPUSH
 366: LD_INT 81
 368: PPUSH
 369: CALL_OW 111
// AddComTurnUnit ( Mules , Rambo ) ;
 373: LD_EXP 1
 377: PPUSH
 378: LD_EXP 11
 382: PPUSH
 383: CALL_OW 179
// ComMoveXY ( Szakal , 128 , 81 ) ;
 387: LD_EXP 4
 391: PPUSH
 392: LD_INT 128
 394: PPUSH
 395: LD_INT 81
 397: PPUSH
 398: CALL_OW 111
// AddComTurnUnit ( Szakal , Rambo ) ;
 402: LD_EXP 4
 406: PPUSH
 407: LD_EXP 11
 411: PPUSH
 412: CALL_OW 179
// ComMoveXY ( [ Wojtek , Gizold , Moralez , Dragon , Smoke , Immortal , Maniek ] , 128 , 83 ) ;
 416: LD_EXP 2
 420: PUSH
 421: LD_EXP 3
 425: PUSH
 426: LD_EXP 5
 430: PUSH
 431: LD_EXP 6
 435: PUSH
 436: LD_EXP 7
 440: PUSH
 441: LD_EXP 8
 445: PUSH
 446: LD_EXP 9
 450: PUSH
 451: EMPTY
 452: LIST
 453: LIST
 454: LIST
 455: LIST
 456: LIST
 457: LIST
 458: LIST
 459: PPUSH
 460: LD_INT 128
 462: PPUSH
 463: LD_INT 83
 465: PPUSH
 466: CALL_OW 111
// wait ( 0 0$8 ) ;
 470: LD_INT 280
 472: PPUSH
 473: CALL_OW 67
// Say ( szakal , b5 ) ;
 477: LD_EXP 4
 481: PPUSH
 482: LD_STRING b5
 484: PPUSH
 485: CALL_OW 88
// ComTurnUnit ( Rambo , Szakal ) ;
 489: LD_EXP 11
 493: PPUSH
 494: LD_EXP 4
 498: PPUSH
 499: CALL_OW 119
// CenterNowOnUnits ( Rambo ) ;
 503: LD_EXP 11
 507: PPUSH
 508: CALL_OW 87
// Say ( rambo , b6 ) ;
 512: LD_EXP 11
 516: PPUSH
 517: LD_STRING b6
 519: PPUSH
 520: CALL_OW 88
// Say ( rambo , b7 ) ;
 524: LD_EXP 11
 528: PPUSH
 529: LD_STRING b7
 531: PPUSH
 532: CALL_OW 88
// Say ( rambo , b8 ) ;
 536: LD_EXP 11
 540: PPUSH
 541: LD_STRING b8
 543: PPUSH
 544: CALL_OW 88
// Say ( smoke , b9 ) ;
 548: LD_EXP 7
 552: PPUSH
 553: LD_STRING b9
 555: PPUSH
 556: CALL_OW 88
// Say ( rambo , b10 ) ;
 560: LD_EXP 11
 564: PPUSH
 565: LD_STRING b10
 567: PPUSH
 568: CALL_OW 88
// Say ( gizold , b11 ) ;
 572: LD_EXP 3
 576: PPUSH
 577: LD_STRING b11
 579: PPUSH
 580: CALL_OW 88
// Say ( rambo , b12 ) ;
 584: LD_EXP 11
 588: PPUSH
 589: LD_STRING b12
 591: PPUSH
 592: CALL_OW 88
// Say ( rambo , b13 ) ;
 596: LD_EXP 11
 600: PPUSH
 601: LD_STRING b13
 603: PPUSH
 604: CALL_OW 88
// Say ( wojtek , addon10 ) ;
 608: LD_EXP 2
 612: PPUSH
 613: LD_STRING addon10
 615: PPUSH
 616: CALL_OW 88
// Say ( mules , addon11 ) ;
 620: LD_EXP 1
 624: PPUSH
 625: LD_STRING addon11
 627: PPUSH
 628: CALL_OW 88
// ComExitBuilding ( Szejk ) ;
 632: LD_EXP 10
 636: PPUSH
 637: CALL_OW 122
// AddComMoveXY ( Szejk , 125 , 79 ) ;
 641: LD_EXP 10
 645: PPUSH
 646: LD_INT 125
 648: PPUSH
 649: LD_INT 79
 651: PPUSH
 652: CALL_OW 171
// AddComTurnUnit ( Szejk , Mules ) ;
 656: LD_EXP 10
 660: PPUSH
 661: LD_EXP 1
 665: PPUSH
 666: CALL_OW 179
// wait ( 0 0$2 ) ;
 670: LD_INT 70
 672: PPUSH
 673: CALL_OW 67
// Say ( Szejk , addon12 ) ;
 677: LD_EXP 10
 681: PPUSH
 682: LD_STRING addon12
 684: PPUSH
 685: CALL_OW 88
// ComTurnUnit ( Mules , Szejk ) ;
 689: LD_EXP 1
 693: PPUSH
 694: LD_EXP 10
 698: PPUSH
 699: CALL_OW 119
// Say ( mules , addon13 ) ;
 703: LD_EXP 1
 707: PPUSH
 708: LD_STRING addon13
 710: PPUSH
 711: CALL_OW 88
// Say ( Szejk , addon14 ) ;
 715: LD_EXP 10
 719: PPUSH
 720: LD_STRING addon14
 722: PPUSH
 723: CALL_OW 88
// Say ( mules , addon15 ) ;
 727: LD_EXP 1
 731: PPUSH
 732: LD_STRING addon15
 734: PPUSH
 735: CALL_OW 88
// Say ( Rambo , addon16 ) ;
 739: LD_EXP 11
 743: PPUSH
 744: LD_STRING addon16
 746: PPUSH
 747: CALL_OW 88
// Say ( rambo , b14 ) ;
 751: LD_EXP 11
 755: PPUSH
 756: LD_STRING b14
 758: PPUSH
 759: CALL_OW 88
// setside ( rambo , 8 ) ;
 763: LD_EXP 11
 767: PPUSH
 768: LD_INT 8
 770: PPUSH
 771: CALL_OW 235
// SetAreaMapShow ( x , 1 ) ;
 775: LD_INT 4
 777: PPUSH
 778: LD_INT 1
 780: PPUSH
 781: CALL_OW 424
// ChangeMissionObjectives ( C2o ) ;
 785: LD_STRING C2o
 787: PPUSH
 788: CALL_OW 337
// ChangeMissionObjectives ( C3 ) ;
 792: LD_STRING C3
 794: PPUSH
 795: CALL_OW 337
// InGameOff ;
 799: CALL_OW 9
// disable ( 10 ) ;
 803: LD_INT 10
 805: DISABLE_MARKED
// enable ( 11 ) ;
 806: LD_INT 11
 808: ENABLE_MARKED
// end ;
 809: END
// every 0 0$1 trigger GetSide ( ardepo1 ) = 8 and LicznikObrony = 4 do
 810: LD_INT 626
 812: PPUSH
 813: CALL_OW 255
 817: PUSH
 818: LD_INT 8
 820: EQUAL
 821: PUSH
 822: LD_EXP 39
 826: PUSH
 827: LD_INT 4
 829: EQUAL
 830: AND
 831: IFFALSE 1112
 833: GO 835
 835: DISABLE
// begin SetAreaMapShow ( x , 0 ) ;
 836: LD_INT 4
 838: PPUSH
 839: LD_INT 0
 841: PPUSH
 842: CALL_OW 424
// SetSide ( FilterUnitsInArea ( ArBase1 , [ [ f_side , 2 ] , [ f_type , unit_building ] ] ) , 8 ) ;
 846: LD_INT 12
 848: PPUSH
 849: LD_INT 22
 851: PUSH
 852: LD_INT 2
 854: PUSH
 855: EMPTY
 856: LIST
 857: LIST
 858: PUSH
 859: LD_INT 21
 861: PUSH
 862: LD_INT 3
 864: PUSH
 865: EMPTY
 866: LIST
 867: LIST
 868: PUSH
 869: EMPTY
 870: LIST
 871: LIST
 872: PPUSH
 873: CALL_OW 70
 877: PPUSH
 878: LD_INT 8
 880: PPUSH
 881: CALL_OW 235
// InGameON ;
 885: CALL_OW 8
// Say ( szakal , c1 ) ;
 889: LD_EXP 4
 893: PPUSH
 894: LD_STRING c1
 896: PPUSH
 897: CALL_OW 88
// Say ( mules , c2 ) ;
 901: LD_EXP 1
 905: PPUSH
 906: LD_STRING c2
 908: PPUSH
 909: CALL_OW 88
// Say ( maniek , c3 ) ;
 913: LD_EXP 9
 917: PPUSH
 918: LD_STRING c3
 920: PPUSH
 921: CALL_OW 88
// Say ( gizold , c4 ) ;
 925: LD_EXP 3
 929: PPUSH
 930: LD_STRING c4
 932: PPUSH
 933: CALL_OW 88
// Say ( maniek , c5 ) ;
 937: LD_EXP 9
 941: PPUSH
 942: LD_STRING c5
 944: PPUSH
 945: CALL_OW 88
// Say ( mules , c6 ) ;
 949: LD_EXP 1
 953: PPUSH
 954: LD_STRING c6
 956: PPUSH
 957: CALL_OW 88
// ChangeMissionObjectives ( C3o ) ;
 961: LD_STRING C3o
 963: PPUSH
 964: CALL_OW 337
// ChangeMissionObjectives ( C4 ) ;
 968: LD_STRING C4
 970: PPUSH
 971: CALL_OW 337
// InGameOff ;
 975: CALL_OW 9
// wait ( 2 2$30 ) ;
 979: LD_INT 5250
 981: PPUSH
 982: CALL_OW 67
// Say ( maniek , e1 ) ;
 986: LD_EXP 9
 990: PPUSH
 991: LD_STRING e1
 993: PPUSH
 994: CALL_OW 88
// SayRadio ( pac , e2 ) ;
 998: LD_EXP 19
1002: PPUSH
1003: LD_STRING e2
1005: PPUSH
1006: CALL_OW 94
// SayRadio ( wamp , e3 ) ;
1010: LD_EXP 18
1014: PPUSH
1015: LD_STRING e3
1017: PPUSH
1018: CALL_OW 94
// SayRadio ( pac , e4 ) ;
1022: LD_EXP 19
1026: PPUSH
1027: LD_STRING e4
1029: PPUSH
1030: CALL_OW 94
// SayRadio ( wamp , e5 ) ;
1034: LD_EXP 18
1038: PPUSH
1039: LD_STRING e5
1041: PPUSH
1042: CALL_OW 94
// SayRadio ( wamp , e6 ) ;
1046: LD_EXP 18
1050: PPUSH
1051: LD_STRING e6
1053: PPUSH
1054: CALL_OW 94
// SayRadio ( pac , e7 ) ;
1058: LD_EXP 19
1062: PPUSH
1063: LD_STRING e7
1065: PPUSH
1066: CALL_OW 94
// Say ( szakal , e8 ) ;
1070: LD_EXP 4
1074: PPUSH
1075: LD_STRING e8
1077: PPUSH
1078: CALL_OW 88
// Say ( mules , e9 ) ;
1082: LD_EXP 1
1086: PPUSH
1087: LD_STRING e9
1089: PPUSH
1090: CALL_OW 88
// ChangeMissionObjectives ( C5 ) ;
1094: LD_STRING C5
1096: PPUSH
1097: CALL_OW 337
// wait ( 3 3$0 ) ;
1101: LD_INT 6300
1103: PPUSH
1104: CALL_OW 67
// ArProduceNewVehicle ;
1108: CALL 9670 0 0
// end ;
1112: END
// every 0 0$1 trigger IsDead ( pac ) marked 01 do
1113: LD_EXP 19
1117: PPUSH
1118: CALL_OW 301
1122: IFFALSE 1244
1124: GO 1126
1126: DISABLE
// begin ComExitBuilding ( czurak ) ;
1127: LD_EXP 22
1131: PPUSH
1132: CALL_OW 122
// CenterNowOnUnits ( czurak ) ;
1136: LD_EXP 22
1140: PPUSH
1141: CALL_OW 87
// SetSide ( Czurak , 8 ) ;
1145: LD_EXP 22
1149: PPUSH
1150: LD_INT 8
1152: PPUSH
1153: CALL_OW 235
// DialogueOn ;
1157: CALL_OW 6
// Say ( Czurak , cz1b ) ;
1161: LD_EXP 22
1165: PPUSH
1166: LD_STRING cz1b
1168: PPUSH
1169: CALL_OW 88
// Say ( Czurak , cz2 ) ;
1173: LD_EXP 22
1177: PPUSH
1178: LD_STRING cz2
1180: PPUSH
1181: CALL_OW 88
// Say ( Mules , cz3 ) ;
1185: LD_EXP 1
1189: PPUSH
1190: LD_STRING cz3
1192: PPUSH
1193: CALL_OW 88
// Say ( Czurak , cz4 ) ;
1197: LD_EXP 22
1201: PPUSH
1202: LD_STRING cz4
1204: PPUSH
1205: CALL_OW 88
// Say ( Czurak , cz5 ) ;
1209: LD_EXP 22
1213: PPUSH
1214: LD_STRING cz5
1216: PPUSH
1217: CALL_OW 88
// DialogueOff ;
1221: CALL_OW 7
// ChangeMissionObjectives ( c7 ) ;
1225: LD_STRING c7
1227: PPUSH
1228: CALL_OW 337
// disable ( 02 ) ;
1232: LD_INT 2
1234: DISABLE_MARKED
// disable ( 02 ) ;
1235: LD_INT 2
1237: DISABLE_MARKED
// disable ( 11 ) ;
1238: LD_INT 11
1240: DISABLE_MARKED
// enable ( 12 ) ;
1241: LD_INT 12
1243: ENABLE_MARKED
// end ;
1244: END
// every 0 0$1 trigger IsDying ( arlab2 ) marked 02 do
1245: LD_INT 725
1247: PPUSH
1248: CALL_OW 303
1252: IFFALSE 1295
1254: GO 1256
1256: DISABLE
// begin ComExitBuilding ( czurak ) ;
1257: LD_EXP 22
1261: PPUSH
1262: CALL_OW 122
// CenterNowOnUnits ( czurak ) ;
1266: LD_EXP 22
1270: PPUSH
1271: CALL_OW 87
// DialogueOn ;
1275: CALL_OW 6
// Say ( Czurak , cz1a ) ;
1279: LD_EXP 22
1283: PPUSH
1284: LD_STRING cz1a
1286: PPUSH
1287: CALL_OW 88
// DialogueOff ;
1291: CALL_OW 7
// end ;
1295: END
// every 0 0$1 trigger IsDying ( rulab3 ) do var Filter , un ;
1296: LD_INT 926
1298: PPUSH
1299: CALL_OW 303
1303: IFFALSE 1425
1305: GO 1307
1307: DISABLE
1308: LD_INT 0
1310: PPUSH
1311: PPUSH
// begin disable ;
1312: DISABLE
// Filter = FilterUnitsInArea ( roz1 , [ [ f_side , 3 ] , [ f_class , 4 ] ] ) ;
1313: LD_ADDR_VAR 0 1
1317: PUSH
1318: LD_INT 27
1320: PPUSH
1321: LD_INT 22
1323: PUSH
1324: LD_INT 3
1326: PUSH
1327: EMPTY
1328: LIST
1329: LIST
1330: PUSH
1331: LD_INT 25
1333: PUSH
1334: LD_INT 4
1336: PUSH
1337: EMPTY
1338: LIST
1339: LIST
1340: PUSH
1341: EMPTY
1342: LIST
1343: LIST
1344: PPUSH
1345: CALL_OW 70
1349: ST_TO_ADDR
// for un in Filter do
1350: LD_ADDR_VAR 0 2
1354: PUSH
1355: LD_VAR 0 1
1359: PUSH
1360: FOR_IN
1361: IFFALSE 1423
// begin DialogueOn ;
1363: CALL_OW 6
// CenterOnXY ( 125 , 21 ) ;
1367: LD_INT 125
1369: PPUSH
1370: LD_INT 21
1372: PPUSH
1373: CALL_OW 84
// Say ( Mules , na1 ) ;
1377: LD_EXP 1
1381: PPUSH
1382: LD_STRING na1
1384: PPUSH
1385: CALL_OW 88
// Say ( Filter [ 1 ] , na2 ) ;
1389: LD_VAR 0 1
1393: PUSH
1394: LD_INT 1
1396: ARRAY
1397: PPUSH
1398: LD_STRING na2
1400: PPUSH
1401: CALL_OW 88
// Say ( Mules , na3 ) ;
1405: LD_EXP 1
1409: PPUSH
1410: LD_STRING na3
1412: PPUSH
1413: CALL_OW 88
// DialogueOff ;
1417: CALL_OW 7
// end ;
1421: GO 1360
1423: POP
1424: POP
// end ;
1425: PPOPN 2
1427: END
// every 0 0$1 trigger IsDying ( rulab2 ) do var Filter ;
1428: LD_INT 923
1430: PPUSH
1431: CALL_OW 303
1435: IFFALSE 1535
1437: GO 1439
1439: DISABLE
1440: LD_INT 0
1442: PPUSH
// begin DialogueOn ;
1443: CALL_OW 6
// CenterOnXY ( 119 , 21 ) ;
1447: LD_INT 119
1449: PPUSH
1450: LD_INT 21
1452: PPUSH
1453: CALL_OW 84
// Say ( Mules , na1 ) ;
1457: LD_EXP 1
1461: PPUSH
1462: LD_STRING na1
1464: PPUSH
1465: CALL_OW 88
// Say ( Gothuk , na5 ) ;
1469: LD_EXP 20
1473: PPUSH
1474: LD_STRING na5
1476: PPUSH
1477: CALL_OW 88
// Say ( Mules , na7 ) ;
1481: LD_EXP 1
1485: PPUSH
1486: LD_STRING na7
1488: PPUSH
1489: CALL_OW 88
// wait ( 0 0$2 ) ;
1493: LD_INT 70
1495: PPUSH
1496: CALL_OW 67
// Say ( Mules , na4 ) ;
1500: LD_EXP 1
1504: PPUSH
1505: LD_STRING na4
1507: PPUSH
1508: CALL_OW 88
// DialogueOff ;
1512: CALL_OW 7
// SetSide ( Gothuk , 8 ) ;
1516: LD_EXP 20
1520: PPUSH
1521: LD_INT 8
1523: PPUSH
1524: CALL_OW 235
// disable ;
1528: DISABLE
// disable ( 12 ) ;
1529: LD_INT 12
1531: DISABLE_MARKED
// enable ( 13 ) ;
1532: LD_INT 13
1534: ENABLE_MARKED
// end ;
1535: PPOPN 1
1537: END
// every 0 0$1 trigger IsDying ( rulab1 ) do var Filter ;
1538: LD_INT 931
1540: PPUSH
1541: CALL_OW 303
1545: IFFALSE 1645
1547: GO 1549
1549: DISABLE
1550: LD_INT 0
1552: PPUSH
// begin DialogueOn ;
1553: CALL_OW 6
// CenterOnXY ( 108 , 24 ) ;
1557: LD_INT 108
1559: PPUSH
1560: LD_INT 24
1562: PPUSH
1563: CALL_OW 84
// Say ( Mules , na1 ) ;
1567: LD_EXP 1
1571: PPUSH
1572: LD_STRING na1
1574: PPUSH
1575: CALL_OW 88
// Say ( Drops , na6 ) ;
1579: LD_EXP 21
1583: PPUSH
1584: LD_STRING na6
1586: PPUSH
1587: CALL_OW 88
// Say ( Mules , na7 ) ;
1591: LD_EXP 1
1595: PPUSH
1596: LD_STRING na7
1598: PPUSH
1599: CALL_OW 88
// wait ( 0 0$2 ) ;
1603: LD_INT 70
1605: PPUSH
1606: CALL_OW 67
// Say ( Mules , na4 ) ;
1610: LD_EXP 1
1614: PPUSH
1615: LD_STRING na4
1617: PPUSH
1618: CALL_OW 88
// DialogueOff ;
1622: CALL_OW 7
// SetSide ( Drops , 8 ) ;
1626: LD_EXP 21
1630: PPUSH
1631: LD_INT 8
1633: PPUSH
1634: CALL_OW 235
// disable ;
1638: DISABLE
// disable ( 12 ) ;
1639: LD_INT 12
1641: DISABLE_MARKED
// enable ( 13 ) ;
1642: LD_INT 13
1644: ENABLE_MARKED
// end ;
1645: PPOPN 1
1647: END
// every 0 0$3 trigger GetSide ( Gothuk ) = 8 and GetSide ( Czurak ) = 8 and GetSide ( Drops ) = 8 do
1648: LD_EXP 20
1652: PPUSH
1653: CALL_OW 255
1657: PUSH
1658: LD_INT 8
1660: EQUAL
1661: PUSH
1662: LD_EXP 22
1666: PPUSH
1667: CALL_OW 255
1671: PUSH
1672: LD_INT 8
1674: EQUAL
1675: AND
1676: PUSH
1677: LD_EXP 21
1681: PPUSH
1682: CALL_OW 255
1686: PUSH
1687: LD_INT 8
1689: EQUAL
1690: AND
1691: IFFALSE 2029
1693: GO 1695
1695: DISABLE
// begin CenterNowOnUnits ( Mules ) ;
1696: LD_EXP 1
1700: PPUSH
1701: CALL_OW 87
// DialogueOn ;
1705: CALL_OW 6
// Say ( Mules , koniec1 ) ;
1709: LD_EXP 1
1713: PPUSH
1714: LD_STRING koniec1
1716: PPUSH
1717: CALL_OW 88
// Say ( Gizold , koniec2 ) ;
1721: LD_EXP 3
1725: PPUSH
1726: LD_STRING koniec2
1728: PPUSH
1729: CALL_OW 88
// DialogueOff ;
1733: CALL_OW 7
// AddMedal ( med1 , 1 ) ;
1737: LD_STRING med1
1739: PPUSH
1740: LD_INT 1
1742: PPUSH
1743: CALL_OW 101
// if GetTech ( 8 , 8 ) = state_researched then
1747: LD_INT 8
1749: PPUSH
1750: LD_INT 8
1752: PPUSH
1753: CALL_OW 321
1757: PUSH
1758: LD_INT 2
1760: EQUAL
1761: IFFALSE 1775
// begin AddMedal ( med2 , 1 ) ;
1763: LD_STRING med2
1765: PPUSH
1766: LD_INT 1
1768: PPUSH
1769: CALL_OW 101
// end else
1773: GO 1786
// begin AddMedal ( med2 , - 1 ) ;
1775: LD_STRING med2
1777: PPUSH
1778: LD_INT 1
1780: NEG
1781: PPUSH
1782: CALL_OW 101
// end ; AddMedal ( med3 , 1 ) ;
1786: LD_STRING med3
1788: PPUSH
1789: LD_INT 1
1791: PPUSH
1792: CALL_OW 101
// GiveMedals ( MAIN ) ;
1796: LD_STRING MAIN
1798: PPUSH
1799: CALL_OW 102
// RewardPeople ( [ Mules , Wojtek , Gizold , Szakal , Moralez , Dragon , Smoke , Immortal , Maniek , Czurak , Drops , Gothuk ] ) ;
1803: LD_EXP 1
1807: PUSH
1808: LD_EXP 2
1812: PUSH
1813: LD_EXP 3
1817: PUSH
1818: LD_EXP 4
1822: PUSH
1823: LD_EXP 5
1827: PUSH
1828: LD_EXP 6
1832: PUSH
1833: LD_EXP 7
1837: PUSH
1838: LD_EXP 8
1842: PUSH
1843: LD_EXP 9
1847: PUSH
1848: LD_EXP 22
1852: PUSH
1853: LD_EXP 21
1857: PUSH
1858: LD_EXP 20
1862: PUSH
1863: EMPTY
1864: LIST
1865: LIST
1866: LIST
1867: LIST
1868: LIST
1869: LIST
1870: LIST
1871: LIST
1872: LIST
1873: LIST
1874: LIST
1875: LIST
1876: PPUSH
1877: CALL_OW 43
// SaveCharacters ( Mules , Mules ) ;
1881: LD_EXP 1
1885: PPUSH
1886: LD_STRING Mules
1888: PPUSH
1889: CALL_OW 38
// SaveCharacters ( Wojtek , Wojtek ) ;
1893: LD_EXP 2
1897: PPUSH
1898: LD_STRING Wojtek
1900: PPUSH
1901: CALL_OW 38
// SaveCharacters ( Gizold , Gizold ) ;
1905: LD_EXP 3
1909: PPUSH
1910: LD_STRING Gizold
1912: PPUSH
1913: CALL_OW 38
// SaveCharacters ( Moralez , Moralez ) ;
1917: LD_EXP 5
1921: PPUSH
1922: LD_STRING Moralez
1924: PPUSH
1925: CALL_OW 38
// SaveCharacters ( Szakal , Szakal ) ;
1929: LD_EXP 4
1933: PPUSH
1934: LD_STRING Szakal
1936: PPUSH
1937: CALL_OW 38
// SaveCharacters ( Dragon , Dragon ) ;
1941: LD_EXP 6
1945: PPUSH
1946: LD_STRING Dragon
1948: PPUSH
1949: CALL_OW 38
// SaveCharacters ( Smoke , Smoke ) ;
1953: LD_EXP 7
1957: PPUSH
1958: LD_STRING Smoke
1960: PPUSH
1961: CALL_OW 38
// SaveCharacters ( Immortal , Immortal ) ;
1965: LD_EXP 8
1969: PPUSH
1970: LD_STRING Immortal
1972: PPUSH
1973: CALL_OW 38
// SaveCharacters ( Maniek , Maniek ) ;
1977: LD_EXP 9
1981: PPUSH
1982: LD_STRING Maniek
1984: PPUSH
1985: CALL_OW 38
// SaveCharacters ( Czurak , Czurak ) ;
1989: LD_EXP 22
1993: PPUSH
1994: LD_STRING Czurak
1996: PPUSH
1997: CALL_OW 38
// SaveCharacters ( Drops , Drops ) ;
2001: LD_EXP 21
2005: PPUSH
2006: LD_STRING Drops
2008: PPUSH
2009: CALL_OW 38
// SaveCharacters ( Gothuk , Gothuk ) ;
2013: LD_EXP 20
2017: PPUSH
2018: LD_STRING Gothuk
2020: PPUSH
2021: CALL_OW 38
// YouWin ;
2025: CALL_OW 103
// end ; end_of_file
2029: END
// export Mules , Wojtek , Gizold , Szakal , Moralez , Dragon , Smoke , Immortal , Maniek ; export function PrepareEastLegion ; begin
2030: LD_INT 0
2032: PPUSH
// uc_side = 8 ;
2033: LD_ADDR_OWVAR 20
2037: PUSH
2038: LD_INT 8
2040: ST_TO_ADDR
// Mules = CreateCharacter ( Mules ) ;
2041: LD_ADDR_EXP 1
2045: PUSH
2046: LD_STRING Mules
2048: PPUSH
2049: CALL_OW 34
2053: ST_TO_ADDR
// PlaceUnitArea ( Mules , MulesS , false ) ;
2054: LD_EXP 1
2058: PPUSH
2059: LD_INT 10
2061: PPUSH
2062: LD_INT 0
2064: PPUSH
2065: CALL_OW 49
// wojtek = CreateCharacter ( wojtek ) ;
2069: LD_ADDR_EXP 2
2073: PUSH
2074: LD_STRING wojtek
2076: PPUSH
2077: CALL_OW 34
2081: ST_TO_ADDR
// PlaceUnitArea ( Wojtek , Spawn , false ) ;
2082: LD_EXP 2
2086: PPUSH
2087: LD_INT 9
2089: PPUSH
2090: LD_INT 0
2092: PPUSH
2093: CALL_OW 49
// gizold = CreateCharacter ( gizold ) ;
2097: LD_ADDR_EXP 3
2101: PUSH
2102: LD_STRING gizold
2104: PPUSH
2105: CALL_OW 34
2109: ST_TO_ADDR
// PlaceUnitArea ( Gizold , Spawn , false ) ;
2110: LD_EXP 3
2114: PPUSH
2115: LD_INT 9
2117: PPUSH
2118: LD_INT 0
2120: PPUSH
2121: CALL_OW 49
// szakal = CreateCharacter ( szakal ) ;
2125: LD_ADDR_EXP 4
2129: PUSH
2130: LD_STRING szakal
2132: PPUSH
2133: CALL_OW 34
2137: ST_TO_ADDR
// PlaceUnitArea ( Szakal , Spawn , false ) ;
2138: LD_EXP 4
2142: PPUSH
2143: LD_INT 9
2145: PPUSH
2146: LD_INT 0
2148: PPUSH
2149: CALL_OW 49
// moralez = CreateCharacter ( moralez ) ;
2153: LD_ADDR_EXP 5
2157: PUSH
2158: LD_STRING moralez
2160: PPUSH
2161: CALL_OW 34
2165: ST_TO_ADDR
// PlaceUnitArea ( Moralez , Spawn , false ) ;
2166: LD_EXP 5
2170: PPUSH
2171: LD_INT 9
2173: PPUSH
2174: LD_INT 0
2176: PPUSH
2177: CALL_OW 49
// Dragon = CreateCharacter ( dragon ) ;
2181: LD_ADDR_EXP 6
2185: PUSH
2186: LD_STRING dragon
2188: PPUSH
2189: CALL_OW 34
2193: ST_TO_ADDR
// PlaceUnitArea ( Dragon , Spawn , false ) ;
2194: LD_EXP 6
2198: PPUSH
2199: LD_INT 9
2201: PPUSH
2202: LD_INT 0
2204: PPUSH
2205: CALL_OW 49
// Smoke = CreateCharacter ( Smoke ) ;
2209: LD_ADDR_EXP 7
2213: PUSH
2214: LD_STRING Smoke
2216: PPUSH
2217: CALL_OW 34
2221: ST_TO_ADDR
// PlaceUnitArea ( Smoke , Spawn , false ) ;
2222: LD_EXP 7
2226: PPUSH
2227: LD_INT 9
2229: PPUSH
2230: LD_INT 0
2232: PPUSH
2233: CALL_OW 49
// Immortal = CreateCharacter ( Immortal ) ;
2237: LD_ADDR_EXP 8
2241: PUSH
2242: LD_STRING Immortal
2244: PPUSH
2245: CALL_OW 34
2249: ST_TO_ADDR
// PlaceUnitArea ( Immortal , Spawn , false ) ;
2250: LD_EXP 8
2254: PPUSH
2255: LD_INT 9
2257: PPUSH
2258: LD_INT 0
2260: PPUSH
2261: CALL_OW 49
// Maniek = CreateCharacter ( Maniek ) ;
2265: LD_ADDR_EXP 9
2269: PUSH
2270: LD_STRING Maniek
2272: PPUSH
2273: CALL_OW 34
2277: ST_TO_ADDR
// PlaceUnitArea ( Maniek , Spawn , false ) ;
2278: LD_EXP 9
2282: PPUSH
2283: LD_INT 9
2285: PPUSH
2286: LD_INT 0
2288: PPUSH
2289: CALL_OW 49
// SetClass ( Moralez , 3 ) ;
2293: LD_EXP 5
2297: PPUSH
2298: LD_INT 3
2300: PPUSH
2301: CALL_OW 336
// SetClass ( Immortal , 2 ) ;
2305: LD_EXP 8
2309: PPUSH
2310: LD_INT 2
2312: PPUSH
2313: CALL_OW 336
// ComTurnXY ( [ Mules , Wojtek , Gizold , Szakal , Moralez , Dragon , Smoke , Immortal , Maniek ] , 159 , 125 ) ;
2317: LD_EXP 1
2321: PUSH
2322: LD_EXP 2
2326: PUSH
2327: LD_EXP 3
2331: PUSH
2332: LD_EXP 4
2336: PUSH
2337: LD_EXP 5
2341: PUSH
2342: LD_EXP 6
2346: PUSH
2347: LD_EXP 7
2351: PUSH
2352: LD_EXP 8
2356: PUSH
2357: LD_EXP 9
2361: PUSH
2362: EMPTY
2363: LIST
2364: LIST
2365: LIST
2366: LIST
2367: LIST
2368: LIST
2369: LIST
2370: LIST
2371: LIST
2372: PPUSH
2373: LD_INT 159
2375: PPUSH
2376: LD_INT 125
2378: PPUSH
2379: CALL_OW 118
// end ;
2383: LD_VAR 0 1
2387: RET
// export Szejk ; export Rambo ; export function PrepareMerchant ; var i , un , ArTurr , Ru1So , ArWeapon , MerP1 , MerP2 , MerP3 ; begin
2388: LD_INT 0
2390: PPUSH
2391: PPUSH
2392: PPUSH
2393: PPUSH
2394: PPUSH
2395: PPUSH
2396: PPUSH
2397: PPUSH
2398: PPUSH
// uc_side = 5 ;
2399: LD_ADDR_OWVAR 20
2403: PUSH
2404: LD_INT 5
2406: ST_TO_ADDR
// uc_nation = 2 ;
2407: LD_ADDR_OWVAR 21
2411: PUSH
2412: LD_INT 2
2414: ST_TO_ADDR
// ArWeapon = [ 23 , 27 , 25 ] ;
2415: LD_ADDR_VAR 0 6
2419: PUSH
2420: LD_INT 23
2422: PUSH
2423: LD_INT 27
2425: PUSH
2426: LD_INT 25
2428: PUSH
2429: EMPTY
2430: LIST
2431: LIST
2432: LIST
2433: ST_TO_ADDR
// ArTurr := FilterAllUnits ( [ [ f_side , 5 ] , [ f_btype , b_bunker ] ] ) ;
2434: LD_ADDR_VAR 0 4
2438: PUSH
2439: LD_INT 22
2441: PUSH
2442: LD_INT 5
2444: PUSH
2445: EMPTY
2446: LIST
2447: LIST
2448: PUSH
2449: LD_INT 30
2451: PUSH
2452: LD_INT 32
2454: PUSH
2455: EMPTY
2456: LIST
2457: LIST
2458: PUSH
2459: EMPTY
2460: LIST
2461: LIST
2462: PPUSH
2463: CALL_OW 69
2467: ST_TO_ADDR
// for i in ArTurr do
2468: LD_ADDR_VAR 0 2
2472: PUSH
2473: LD_VAR 0 4
2477: PUSH
2478: FOR_IN
2479: IFFALSE 2648
// begin if IsInUnit ( i ) = 0 then
2481: LD_VAR 0 2
2485: PPUSH
2486: CALL_OW 310
2490: PUSH
2491: LD_INT 0
2493: EQUAL
2494: IFFALSE 2646
// begin hc_gallery =  ;
2496: LD_ADDR_OWVAR 33
2500: PUSH
2501: LD_STRING 
2503: ST_TO_ADDR
// hc_name =  ;
2504: LD_ADDR_OWVAR 26
2508: PUSH
2509: LD_STRING 
2511: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
2512: LD_ADDR_OWVAR 29
2516: PUSH
2517: LD_INT 9
2519: PPUSH
2520: LD_INT 11
2522: PPUSH
2523: CALL_OW 12
2527: PUSH
2528: LD_INT 10
2530: PPUSH
2531: LD_INT 12
2533: PPUSH
2534: CALL_OW 12
2538: PUSH
2539: EMPTY
2540: LIST
2541: LIST
2542: ST_TO_ADDR
// hc_skills = [ Rand ( 5 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) ] ;
2543: LD_ADDR_OWVAR 31
2547: PUSH
2548: LD_INT 5
2550: PPUSH
2551: LD_INT 7
2553: PPUSH
2554: CALL_OW 12
2558: PUSH
2559: LD_INT 0
2561: PPUSH
2562: LD_INT 7
2564: PPUSH
2565: CALL_OW 12
2569: PUSH
2570: LD_INT 0
2572: PPUSH
2573: LD_INT 7
2575: PPUSH
2576: CALL_OW 12
2580: PUSH
2581: LD_INT 0
2583: PPUSH
2584: LD_INT 7
2586: PPUSH
2587: CALL_OW 12
2591: PUSH
2592: EMPTY
2593: LIST
2594: LIST
2595: LIST
2596: LIST
2597: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
2598: LD_ADDR_OWVAR 27
2602: PUSH
2603: LD_INT 1
2605: PPUSH
2606: LD_INT 2
2608: PPUSH
2609: CALL_OW 12
2613: ST_TO_ADDR
// hc_class = 1 ;
2614: LD_ADDR_OWVAR 28
2618: PUSH
2619: LD_INT 1
2621: ST_TO_ADDR
// un := CreateHuman ;
2622: LD_ADDR_VAR 0 3
2626: PUSH
2627: CALL_OW 44
2631: ST_TO_ADDR
// PlaceHumanInUnit ( un , i ) ;
2632: LD_VAR 0 3
2636: PPUSH
2637: LD_VAR 0 2
2641: PPUSH
2642: CALL_OW 52
// end ; end ;
2646: GO 2478
2648: POP
2649: POP
// for i in merfab do
2650: LD_ADDR_VAR 0 2
2654: PUSH
2655: LD_INT 594
2657: PUSH
2658: FOR_IN
2659: IFFALSE 2831
// begin for i = 1 to 6 do
2661: LD_ADDR_VAR 0 2
2665: PUSH
2666: DOUBLE
2667: LD_INT 1
2669: DEC
2670: ST_TO_ADDR
2671: LD_INT 6
2673: PUSH
2674: FOR_TO
2675: IFFALSE 2827
// begin hc_gallery =  ;
2677: LD_ADDR_OWVAR 33
2681: PUSH
2682: LD_STRING 
2684: ST_TO_ADDR
// hc_name =  ;
2685: LD_ADDR_OWVAR 26
2689: PUSH
2690: LD_STRING 
2692: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
2693: LD_ADDR_OWVAR 29
2697: PUSH
2698: LD_INT 9
2700: PPUSH
2701: LD_INT 11
2703: PPUSH
2704: CALL_OW 12
2708: PUSH
2709: LD_INT 10
2711: PPUSH
2712: LD_INT 12
2714: PPUSH
2715: CALL_OW 12
2719: PUSH
2720: EMPTY
2721: LIST
2722: LIST
2723: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 7 ) , Rand ( 0 , 7 ) , Rand ( 5 , 7 ) , Rand ( 0 , 7 ) ] ;
2724: LD_ADDR_OWVAR 31
2728: PUSH
2729: LD_INT 0
2731: PPUSH
2732: LD_INT 7
2734: PPUSH
2735: CALL_OW 12
2739: PUSH
2740: LD_INT 0
2742: PPUSH
2743: LD_INT 7
2745: PPUSH
2746: CALL_OW 12
2750: PUSH
2751: LD_INT 5
2753: PPUSH
2754: LD_INT 7
2756: PPUSH
2757: CALL_OW 12
2761: PUSH
2762: LD_INT 0
2764: PPUSH
2765: LD_INT 7
2767: PPUSH
2768: CALL_OW 12
2772: PUSH
2773: EMPTY
2774: LIST
2775: LIST
2776: LIST
2777: LIST
2778: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
2779: LD_ADDR_OWVAR 27
2783: PUSH
2784: LD_INT 1
2786: PPUSH
2787: LD_INT 2
2789: PPUSH
2790: CALL_OW 12
2794: ST_TO_ADDR
// hc_class = 3 ;
2795: LD_ADDR_OWVAR 28
2799: PUSH
2800: LD_INT 3
2802: ST_TO_ADDR
// un = CreateHuman ;
2803: LD_ADDR_VAR 0 3
2807: PUSH
2808: CALL_OW 44
2812: ST_TO_ADDR
// PlaceHumanInUnit ( un , merfab ) ;
2813: LD_VAR 0 3
2817: PPUSH
2818: LD_INT 594
2820: PPUSH
2821: CALL_OW 52
// end ;
2825: GO 2674
2827: POP
2828: POP
// end ;
2829: GO 2658
2831: POP
2832: POP
// for i in merlab do
2833: LD_ADDR_VAR 0 2
2837: PUSH
2838: LD_INT 603
2840: PUSH
2841: FOR_IN
2842: IFFALSE 3014
// begin for i = 1 to 2 do
2844: LD_ADDR_VAR 0 2
2848: PUSH
2849: DOUBLE
2850: LD_INT 1
2852: DEC
2853: ST_TO_ADDR
2854: LD_INT 2
2856: PUSH
2857: FOR_TO
2858: IFFALSE 3010
// begin hc_gallery =  ;
2860: LD_ADDR_OWVAR 33
2864: PUSH
2865: LD_STRING 
2867: ST_TO_ADDR
// hc_name =  ;
2868: LD_ADDR_OWVAR 26
2872: PUSH
2873: LD_STRING 
2875: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
2876: LD_ADDR_OWVAR 29
2880: PUSH
2881: LD_INT 9
2883: PPUSH
2884: LD_INT 11
2886: PPUSH
2887: CALL_OW 12
2891: PUSH
2892: LD_INT 10
2894: PPUSH
2895: LD_INT 12
2897: PPUSH
2898: CALL_OW 12
2902: PUSH
2903: EMPTY
2904: LIST
2905: LIST
2906: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) , Rand ( 5 , 7 ) ] ;
2907: LD_ADDR_OWVAR 31
2911: PUSH
2912: LD_INT 0
2914: PPUSH
2915: LD_INT 7
2917: PPUSH
2918: CALL_OW 12
2922: PUSH
2923: LD_INT 0
2925: PPUSH
2926: LD_INT 7
2928: PPUSH
2929: CALL_OW 12
2933: PUSH
2934: LD_INT 0
2936: PPUSH
2937: LD_INT 7
2939: PPUSH
2940: CALL_OW 12
2944: PUSH
2945: LD_INT 5
2947: PPUSH
2948: LD_INT 7
2950: PPUSH
2951: CALL_OW 12
2955: PUSH
2956: EMPTY
2957: LIST
2958: LIST
2959: LIST
2960: LIST
2961: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
2962: LD_ADDR_OWVAR 27
2966: PUSH
2967: LD_INT 1
2969: PPUSH
2970: LD_INT 2
2972: PPUSH
2973: CALL_OW 12
2977: ST_TO_ADDR
// hc_class = 4 ;
2978: LD_ADDR_OWVAR 28
2982: PUSH
2983: LD_INT 4
2985: ST_TO_ADDR
// un = CreateHuman ;
2986: LD_ADDR_VAR 0 3
2990: PUSH
2991: CALL_OW 44
2995: ST_TO_ADDR
// PlaceHumanInUnit ( un , merlab ) ;
2996: LD_VAR 0 3
3000: PPUSH
3001: LD_INT 603
3003: PPUSH
3004: CALL_OW 52
// end ;
3008: GO 2857
3010: POP
3011: POP
// end ;
3012: GO 2841
3014: POP
3015: POP
// for i in merdepo do
3016: LD_ADDR_VAR 0 2
3020: PUSH
3021: LD_INT 557
3023: PUSH
3024: FOR_IN
3025: IFFALSE 3197
// begin for i = 1 to 2 do
3027: LD_ADDR_VAR 0 2
3031: PUSH
3032: DOUBLE
3033: LD_INT 1
3035: DEC
3036: ST_TO_ADDR
3037: LD_INT 2
3039: PUSH
3040: FOR_TO
3041: IFFALSE 3193
// begin hc_gallery =  ;
3043: LD_ADDR_OWVAR 33
3047: PUSH
3048: LD_STRING 
3050: ST_TO_ADDR
// hc_name =  ;
3051: LD_ADDR_OWVAR 26
3055: PUSH
3056: LD_STRING 
3058: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
3059: LD_ADDR_OWVAR 29
3063: PUSH
3064: LD_INT 9
3066: PPUSH
3067: LD_INT 11
3069: PPUSH
3070: CALL_OW 12
3074: PUSH
3075: LD_INT 10
3077: PPUSH
3078: LD_INT 12
3080: PPUSH
3081: CALL_OW 12
3085: PUSH
3086: EMPTY
3087: LIST
3088: LIST
3089: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 7 ) , Rand ( 5 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) ] ;
3090: LD_ADDR_OWVAR 31
3094: PUSH
3095: LD_INT 0
3097: PPUSH
3098: LD_INT 7
3100: PPUSH
3101: CALL_OW 12
3105: PUSH
3106: LD_INT 5
3108: PPUSH
3109: LD_INT 7
3111: PPUSH
3112: CALL_OW 12
3116: PUSH
3117: LD_INT 0
3119: PPUSH
3120: LD_INT 7
3122: PPUSH
3123: CALL_OW 12
3127: PUSH
3128: LD_INT 0
3130: PPUSH
3131: LD_INT 7
3133: PPUSH
3134: CALL_OW 12
3138: PUSH
3139: EMPTY
3140: LIST
3141: LIST
3142: LIST
3143: LIST
3144: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
3145: LD_ADDR_OWVAR 27
3149: PUSH
3150: LD_INT 1
3152: PPUSH
3153: LD_INT 2
3155: PPUSH
3156: CALL_OW 12
3160: ST_TO_ADDR
// hc_class = 2 ;
3161: LD_ADDR_OWVAR 28
3165: PUSH
3166: LD_INT 2
3168: ST_TO_ADDR
// un = CreateHuman ;
3169: LD_ADDR_VAR 0 3
3173: PUSH
3174: CALL_OW 44
3178: ST_TO_ADDR
// PlaceHumanInUnit ( un , merdepo ) ;
3179: LD_VAR 0 3
3183: PPUSH
3184: LD_INT 557
3186: PPUSH
3187: CALL_OW 52
// end ;
3191: GO 3040
3193: POP
3194: POP
// end ;
3195: GO 3024
3197: POP
3198: POP
// uc_side = 5 ;
3199: LD_ADDR_OWVAR 20
3203: PUSH
3204: LD_INT 5
3206: ST_TO_ADDR
// uc_nation = 2 ;
3207: LD_ADDR_OWVAR 21
3211: PUSH
3212: LD_INT 2
3214: ST_TO_ADDR
// hc_gallery =  ;
3215: LD_ADDR_OWVAR 33
3219: PUSH
3220: LD_STRING 
3222: ST_TO_ADDR
// hc_name = Kubalolxp ;
3223: LD_ADDR_OWVAR 26
3227: PUSH
3228: LD_STRING Kubalolxp
3230: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
3231: LD_ADDR_OWVAR 29
3235: PUSH
3236: LD_INT 9
3238: PPUSH
3239: LD_INT 11
3241: PPUSH
3242: CALL_OW 12
3246: PUSH
3247: LD_INT 10
3249: PPUSH
3250: LD_INT 12
3252: PPUSH
3253: CALL_OW 12
3257: PUSH
3258: EMPTY
3259: LIST
3260: LIST
3261: ST_TO_ADDR
// hc_skills = [ Rand ( 5 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) ] ;
3262: LD_ADDR_OWVAR 31
3266: PUSH
3267: LD_INT 5
3269: PPUSH
3270: LD_INT 7
3272: PPUSH
3273: CALL_OW 12
3277: PUSH
3278: LD_INT 0
3280: PPUSH
3281: LD_INT 7
3283: PPUSH
3284: CALL_OW 12
3288: PUSH
3289: LD_INT 0
3291: PPUSH
3292: LD_INT 7
3294: PPUSH
3295: CALL_OW 12
3299: PUSH
3300: LD_INT 0
3302: PPUSH
3303: LD_INT 7
3305: PPUSH
3306: CALL_OW 12
3310: PUSH
3311: EMPTY
3312: LIST
3313: LIST
3314: LIST
3315: LIST
3316: ST_TO_ADDR
// hc_sex = sex_male ;
3317: LD_ADDR_OWVAR 27
3321: PUSH
3322: LD_INT 1
3324: ST_TO_ADDR
// hc_class = 11 ;
3325: LD_ADDR_OWVAR 28
3329: PUSH
3330: LD_INT 11
3332: ST_TO_ADDR
// Szejk = CreateHuman ;
3333: LD_ADDR_EXP 10
3337: PUSH
3338: CALL_OW 44
3342: ST_TO_ADDR
// PlaceHumanInUnit ( Szejk , merdepo ) ;
3343: LD_EXP 10
3347: PPUSH
3348: LD_INT 557
3350: PPUSH
3351: CALL_OW 52
// uc_nation = 1 ;
3355: LD_ADDR_OWVAR 21
3359: PUSH
3360: LD_INT 1
3362: ST_TO_ADDR
// uc_side = 7 ;
3363: LD_ADDR_OWVAR 20
3367: PUSH
3368: LD_INT 7
3370: ST_TO_ADDR
// hc_gallery = ELGalNefarem2 ;
3371: LD_ADDR_OWVAR 33
3375: PUSH
3376: LD_STRING ELGalNefarem2
3378: ST_TO_ADDR
// hc_face_number = 1 ;
3379: LD_ADDR_OWVAR 34
3383: PUSH
3384: LD_INT 1
3386: ST_TO_ADDR
// hc_name = Rambo ;
3387: LD_ADDR_OWVAR 26
3391: PUSH
3392: LD_STRING Rambo
3394: ST_TO_ADDR
// hc_attr = [ Rand ( 10 , 11 ) , Rand ( 10 , 12 ) ] ;
3395: LD_ADDR_OWVAR 29
3399: PUSH
3400: LD_INT 10
3402: PPUSH
3403: LD_INT 11
3405: PPUSH
3406: CALL_OW 12
3410: PUSH
3411: LD_INT 10
3413: PPUSH
3414: LD_INT 12
3416: PPUSH
3417: CALL_OW 12
3421: PUSH
3422: EMPTY
3423: LIST
3424: LIST
3425: ST_TO_ADDR
// hc_skills = [ 5 , 3 , 0 , 1 ] ;
3426: LD_ADDR_OWVAR 31
3430: PUSH
3431: LD_INT 5
3433: PUSH
3434: LD_INT 3
3436: PUSH
3437: LD_INT 0
3439: PUSH
3440: LD_INT 1
3442: PUSH
3443: EMPTY
3444: LIST
3445: LIST
3446: LIST
3447: LIST
3448: ST_TO_ADDR
// hc_sex = sex_male ;
3449: LD_ADDR_OWVAR 27
3453: PUSH
3454: LD_INT 1
3456: ST_TO_ADDR
// hc_class = 1 ;
3457: LD_ADDR_OWVAR 28
3461: PUSH
3462: LD_INT 1
3464: ST_TO_ADDR
// Rambo = CreateHuman ;
3465: LD_ADDR_EXP 11
3469: PUSH
3470: CALL_OW 44
3474: ST_TO_ADDR
// PlaceUnitArea ( Rambo , RamboS , false ) ;
3475: LD_EXP 11
3479: PPUSH
3480: LD_INT 11
3482: PPUSH
3483: LD_INT 0
3485: PPUSH
3486: CALL_OW 49
// ComHold ( Rambo ) ;
3490: LD_EXP 11
3494: PPUSH
3495: CALL_OW 140
// uc_nation = 2 ;
3499: LD_ADDR_OWVAR 21
3503: PUSH
3504: LD_INT 2
3506: ST_TO_ADDR
// uc_side = 5 ;
3507: LD_ADDR_OWVAR 20
3511: PUSH
3512: LD_INT 5
3514: ST_TO_ADDR
// vc_chassis = 13 ;
3515: LD_ADDR_OWVAR 37
3519: PUSH
3520: LD_INT 13
3522: ST_TO_ADDR
// vc_engine = 1 ;
3523: LD_ADDR_OWVAR 39
3527: PUSH
3528: LD_INT 1
3530: ST_TO_ADDR
// vc_control = control_manual ;
3531: LD_ADDR_OWVAR 38
3535: PUSH
3536: LD_INT 1
3538: ST_TO_ADDR
// vc_weapon = ArWeapon [ Rand ( 1 , 3 ) ] ;
3539: LD_ADDR_OWVAR 40
3543: PUSH
3544: LD_VAR 0 6
3548: PUSH
3549: LD_INT 1
3551: PPUSH
3552: LD_INT 3
3554: PPUSH
3555: CALL_OW 12
3559: ARRAY
3560: ST_TO_ADDR
// MerP1 = CreateVehicle ;
3561: LD_ADDR_VAR 0 7
3565: PUSH
3566: CALL_OW 45
3570: ST_TO_ADDR
// vc_weapon = ArWeapon [ Rand ( 1 , 3 ) ] ;
3571: LD_ADDR_OWVAR 40
3575: PUSH
3576: LD_VAR 0 6
3580: PUSH
3581: LD_INT 1
3583: PPUSH
3584: LD_INT 3
3586: PPUSH
3587: CALL_OW 12
3591: ARRAY
3592: ST_TO_ADDR
// MerP2 = CreateVehicle ;
3593: LD_ADDR_VAR 0 8
3597: PUSH
3598: CALL_OW 45
3602: ST_TO_ADDR
// vc_weapon = ArWeapon [ Rand ( 1 , 3 ) ] ;
3603: LD_ADDR_OWVAR 40
3607: PUSH
3608: LD_VAR 0 6
3612: PUSH
3613: LD_INT 1
3615: PPUSH
3616: LD_INT 3
3618: PPUSH
3619: CALL_OW 12
3623: ARRAY
3624: ST_TO_ADDR
// MerP3 = CreateVehicle ;
3625: LD_ADDR_VAR 0 9
3629: PUSH
3630: CALL_OW 45
3634: ST_TO_ADDR
// SetDir ( MerP1 , 2 ) ;
3635: LD_VAR 0 7
3639: PPUSH
3640: LD_INT 2
3642: PPUSH
3643: CALL_OW 233
// SetDir ( MerP2 , 2 ) ;
3647: LD_VAR 0 8
3651: PPUSH
3652: LD_INT 2
3654: PPUSH
3655: CALL_OW 233
// SetDir ( MerP3 , 2 ) ;
3659: LD_VAR 0 9
3663: PPUSH
3664: LD_INT 2
3666: PPUSH
3667: CALL_OW 233
// PlaceUnitArea ( MerP1 , MerVehSpawn , false ) ;
3671: LD_VAR 0 7
3675: PPUSH
3676: LD_INT 16
3678: PPUSH
3679: LD_INT 0
3681: PPUSH
3682: CALL_OW 49
// PlaceUnitArea ( MerP2 , MerVehSpawn , false ) ;
3686: LD_VAR 0 8
3690: PPUSH
3691: LD_INT 16
3693: PPUSH
3694: LD_INT 0
3696: PPUSH
3697: CALL_OW 49
// PlaceUnitArea ( MerP3 , MerVehSpawn , false ) ;
3701: LD_VAR 0 9
3705: PPUSH
3706: LD_INT 16
3708: PPUSH
3709: LD_INT 0
3711: PPUSH
3712: CALL_OW 49
// end ;
3716: LD_VAR 0 1
3720: RET
// export ArSmallBaseEng , ArBigBaseEng ; export Ar1Sol1 , Ar1Sol2 ; export ArControler ; export ArPatrol ; export Wamp , Pac ; export Gothuk , Drops , Czurak ; export function PrepareArabian ; var i , un , ArTurr , l ; begin
3721: LD_INT 0
3723: PPUSH
3724: PPUSH
3725: PPUSH
3726: PPUSH
3727: PPUSH
// uc_side = 2 ;
3728: LD_ADDR_OWVAR 20
3732: PUSH
3733: LD_INT 2
3735: ST_TO_ADDR
// uc_nation = 2 ;
3736: LD_ADDR_OWVAR 21
3740: PUSH
3741: LD_INT 2
3743: ST_TO_ADDR
// ArTurr := FilterAllUnits ( [ [ f_side , 2 ] , [ f_btype , b_bunker ] ] ) ;
3744: LD_ADDR_VAR 0 4
3748: PUSH
3749: LD_INT 22
3751: PUSH
3752: LD_INT 2
3754: PUSH
3755: EMPTY
3756: LIST
3757: LIST
3758: PUSH
3759: LD_INT 30
3761: PUSH
3762: LD_INT 32
3764: PUSH
3765: EMPTY
3766: LIST
3767: LIST
3768: PUSH
3769: EMPTY
3770: LIST
3771: LIST
3772: PPUSH
3773: CALL_OW 69
3777: ST_TO_ADDR
// for i in ArTurr do
3778: LD_ADDR_VAR 0 2
3782: PUSH
3783: LD_VAR 0 4
3787: PUSH
3788: FOR_IN
3789: IFFALSE 3958
// begin if IsInUnit ( i ) = 0 then
3791: LD_VAR 0 2
3795: PPUSH
3796: CALL_OW 310
3800: PUSH
3801: LD_INT 0
3803: EQUAL
3804: IFFALSE 3956
// begin hc_gallery =  ;
3806: LD_ADDR_OWVAR 33
3810: PUSH
3811: LD_STRING 
3813: ST_TO_ADDR
// hc_name =  ;
3814: LD_ADDR_OWVAR 26
3818: PUSH
3819: LD_STRING 
3821: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
3822: LD_ADDR_OWVAR 29
3826: PUSH
3827: LD_INT 9
3829: PPUSH
3830: LD_INT 11
3832: PPUSH
3833: CALL_OW 12
3837: PUSH
3838: LD_INT 10
3840: PPUSH
3841: LD_INT 12
3843: PPUSH
3844: CALL_OW 12
3848: PUSH
3849: EMPTY
3850: LIST
3851: LIST
3852: ST_TO_ADDR
// hc_skills = [ Rand ( 5 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) ] ;
3853: LD_ADDR_OWVAR 31
3857: PUSH
3858: LD_INT 5
3860: PPUSH
3861: LD_INT 7
3863: PPUSH
3864: CALL_OW 12
3868: PUSH
3869: LD_INT 0
3871: PPUSH
3872: LD_INT 7
3874: PPUSH
3875: CALL_OW 12
3879: PUSH
3880: LD_INT 0
3882: PPUSH
3883: LD_INT 7
3885: PPUSH
3886: CALL_OW 12
3890: PUSH
3891: LD_INT 0
3893: PPUSH
3894: LD_INT 7
3896: PPUSH
3897: CALL_OW 12
3901: PUSH
3902: EMPTY
3903: LIST
3904: LIST
3905: LIST
3906: LIST
3907: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
3908: LD_ADDR_OWVAR 27
3912: PUSH
3913: LD_INT 1
3915: PPUSH
3916: LD_INT 2
3918: PPUSH
3919: CALL_OW 12
3923: ST_TO_ADDR
// hc_class = 1 ;
3924: LD_ADDR_OWVAR 28
3928: PUSH
3929: LD_INT 1
3931: ST_TO_ADDR
// un := CreateHuman ;
3932: LD_ADDR_VAR 0 3
3936: PUSH
3937: CALL_OW 44
3941: ST_TO_ADDR
// PlaceHumanInUnit ( un , i ) ;
3942: LD_VAR 0 3
3946: PPUSH
3947: LD_VAR 0 2
3951: PPUSH
3952: CALL_OW 52
// end ; end ;
3956: GO 3788
3958: POP
3959: POP
// for i in ardepo1 do
3960: LD_ADDR_VAR 0 2
3964: PUSH
3965: LD_INT 626
3967: PUSH
3968: FOR_IN
3969: IFFALSE 4157
// begin for i = 1 to 2 do
3971: LD_ADDR_VAR 0 2
3975: PUSH
3976: DOUBLE
3977: LD_INT 1
3979: DEC
3980: ST_TO_ADDR
3981: LD_INT 2
3983: PUSH
3984: FOR_TO
3985: IFFALSE 4153
// begin hc_gallery =  ;
3987: LD_ADDR_OWVAR 33
3991: PUSH
3992: LD_STRING 
3994: ST_TO_ADDR
// hc_name =  ;
3995: LD_ADDR_OWVAR 26
3999: PUSH
4000: LD_STRING 
4002: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
4003: LD_ADDR_OWVAR 29
4007: PUSH
4008: LD_INT 9
4010: PPUSH
4011: LD_INT 11
4013: PPUSH
4014: CALL_OW 12
4018: PUSH
4019: LD_INT 10
4021: PPUSH
4022: LD_INT 12
4024: PPUSH
4025: CALL_OW 12
4029: PUSH
4030: EMPTY
4031: LIST
4032: LIST
4033: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 7 ) , Rand ( 5 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) ] ;
4034: LD_ADDR_OWVAR 31
4038: PUSH
4039: LD_INT 0
4041: PPUSH
4042: LD_INT 7
4044: PPUSH
4045: CALL_OW 12
4049: PUSH
4050: LD_INT 5
4052: PPUSH
4053: LD_INT 7
4055: PPUSH
4056: CALL_OW 12
4060: PUSH
4061: LD_INT 0
4063: PPUSH
4064: LD_INT 7
4066: PPUSH
4067: CALL_OW 12
4071: PUSH
4072: LD_INT 0
4074: PPUSH
4075: LD_INT 7
4077: PPUSH
4078: CALL_OW 12
4082: PUSH
4083: EMPTY
4084: LIST
4085: LIST
4086: LIST
4087: LIST
4088: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
4089: LD_ADDR_OWVAR 27
4093: PUSH
4094: LD_INT 1
4096: PPUSH
4097: LD_INT 2
4099: PPUSH
4100: CALL_OW 12
4104: ST_TO_ADDR
// hc_class = 2 ;
4105: LD_ADDR_OWVAR 28
4109: PUSH
4110: LD_INT 2
4112: ST_TO_ADDR
// un = CreateHuman ;
4113: LD_ADDR_VAR 0 3
4117: PUSH
4118: CALL_OW 44
4122: ST_TO_ADDR
// PlaceHumanInUnit ( un , ardepo1 ) ;
4123: LD_VAR 0 3
4127: PPUSH
4128: LD_INT 626
4130: PPUSH
4131: CALL_OW 52
// ArSmallBaseEng = ArSmallBaseEng ^ un ;
4135: LD_ADDR_EXP 12
4139: PUSH
4140: LD_EXP 12
4144: PUSH
4145: LD_VAR 0 3
4149: ADD
4150: ST_TO_ADDR
// end ;
4151: GO 3984
4153: POP
4154: POP
// end ;
4155: GO 3968
4157: POP
4158: POP
// for i in arbar1 do
4159: LD_ADDR_VAR 0 2
4163: PUSH
4164: LD_INT 658
4166: PUSH
4167: FOR_IN
4168: IFFALSE 4340
// begin for i = 1 to 1 do
4170: LD_ADDR_VAR 0 2
4174: PUSH
4175: DOUBLE
4176: LD_INT 1
4178: DEC
4179: ST_TO_ADDR
4180: LD_INT 1
4182: PUSH
4183: FOR_TO
4184: IFFALSE 4336
// begin hc_gallery =  ;
4186: LD_ADDR_OWVAR 33
4190: PUSH
4191: LD_STRING 
4193: ST_TO_ADDR
// hc_name =  ;
4194: LD_ADDR_OWVAR 26
4198: PUSH
4199: LD_STRING 
4201: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
4202: LD_ADDR_OWVAR 29
4206: PUSH
4207: LD_INT 9
4209: PPUSH
4210: LD_INT 11
4212: PPUSH
4213: CALL_OW 12
4217: PUSH
4218: LD_INT 10
4220: PPUSH
4221: LD_INT 12
4223: PPUSH
4224: CALL_OW 12
4228: PUSH
4229: EMPTY
4230: LIST
4231: LIST
4232: ST_TO_ADDR
// hc_skills = [ Rand ( 5 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) ] ;
4233: LD_ADDR_OWVAR 31
4237: PUSH
4238: LD_INT 5
4240: PPUSH
4241: LD_INT 7
4243: PPUSH
4244: CALL_OW 12
4248: PUSH
4249: LD_INT 0
4251: PPUSH
4252: LD_INT 7
4254: PPUSH
4255: CALL_OW 12
4259: PUSH
4260: LD_INT 0
4262: PPUSH
4263: LD_INT 7
4265: PPUSH
4266: CALL_OW 12
4270: PUSH
4271: LD_INT 0
4273: PPUSH
4274: LD_INT 7
4276: PPUSH
4277: CALL_OW 12
4281: PUSH
4282: EMPTY
4283: LIST
4284: LIST
4285: LIST
4286: LIST
4287: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
4288: LD_ADDR_OWVAR 27
4292: PUSH
4293: LD_INT 1
4295: PPUSH
4296: LD_INT 2
4298: PPUSH
4299: CALL_OW 12
4303: ST_TO_ADDR
// hc_class = 1 ;
4304: LD_ADDR_OWVAR 28
4308: PUSH
4309: LD_INT 1
4311: ST_TO_ADDR
// un = CreateHuman ;
4312: LD_ADDR_VAR 0 3
4316: PUSH
4317: CALL_OW 44
4321: ST_TO_ADDR
// PlaceHumanInUnit ( un , arbar1 ) ;
4322: LD_VAR 0 3
4326: PPUSH
4327: LD_INT 658
4329: PPUSH
4330: CALL_OW 52
// end ;
4334: GO 4183
4336: POP
4337: POP
// end ;
4338: GO 4167
4340: POP
4341: POP
// hc_gallery =  ;
4342: LD_ADDR_OWVAR 33
4346: PUSH
4347: LD_STRING 
4349: ST_TO_ADDR
// hc_name =  ;
4350: LD_ADDR_OWVAR 26
4354: PUSH
4355: LD_STRING 
4357: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
4358: LD_ADDR_OWVAR 29
4362: PUSH
4363: LD_INT 9
4365: PPUSH
4366: LD_INT 11
4368: PPUSH
4369: CALL_OW 12
4373: PUSH
4374: LD_INT 10
4376: PPUSH
4377: LD_INT 12
4379: PPUSH
4380: CALL_OW 12
4384: PUSH
4385: EMPTY
4386: LIST
4387: LIST
4388: ST_TO_ADDR
// hc_skills = [ Rand ( 5 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) ] ;
4389: LD_ADDR_OWVAR 31
4393: PUSH
4394: LD_INT 5
4396: PPUSH
4397: LD_INT 7
4399: PPUSH
4400: CALL_OW 12
4404: PUSH
4405: LD_INT 0
4407: PPUSH
4408: LD_INT 7
4410: PPUSH
4411: CALL_OW 12
4415: PUSH
4416: LD_INT 0
4418: PPUSH
4419: LD_INT 7
4421: PPUSH
4422: CALL_OW 12
4426: PUSH
4427: LD_INT 0
4429: PPUSH
4430: LD_INT 7
4432: PPUSH
4433: CALL_OW 12
4437: PUSH
4438: EMPTY
4439: LIST
4440: LIST
4441: LIST
4442: LIST
4443: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
4444: LD_ADDR_OWVAR 27
4448: PUSH
4449: LD_INT 1
4451: PPUSH
4452: LD_INT 2
4454: PPUSH
4455: CALL_OW 12
4459: ST_TO_ADDR
// hc_class = 1 ;
4460: LD_ADDR_OWVAR 28
4464: PUSH
4465: LD_INT 1
4467: ST_TO_ADDR
// Ar1Sol1 = CreateHuman ;
4468: LD_ADDR_EXP 14
4472: PUSH
4473: CALL_OW 44
4477: ST_TO_ADDR
// hc_class = 8 ;
4478: LD_ADDR_OWVAR 28
4482: PUSH
4483: LD_INT 8
4485: ST_TO_ADDR
// Ar1Sol2 = CreateHuman ;
4486: LD_ADDR_EXP 15
4490: PUSH
4491: CALL_OW 44
4495: ST_TO_ADDR
// PlaceUnitArea ( Ar1Sol1 , Ar1S1 , false ) ;
4496: LD_EXP 14
4500: PPUSH
4501: LD_INT 14
4503: PPUSH
4504: LD_INT 0
4506: PPUSH
4507: CALL_OW 49
// PlaceUnitArea ( Ar1Sol2 , Ar1S2 , false ) ;
4511: LD_EXP 15
4515: PPUSH
4516: LD_INT 15
4518: PPUSH
4519: LD_INT 0
4521: PPUSH
4522: CALL_OW 49
// ComEnterUnit ( Ar1Sol1 , Ar1B1 ) ;
4526: LD_EXP 14
4530: PPUSH
4531: LD_INT 608
4533: PPUSH
4534: CALL_OW 120
// ComEnterUnit ( Ar1Sol2 , Ar1B2 ) ;
4538: LD_EXP 15
4542: PPUSH
4543: LD_INT 610
4545: PPUSH
4546: CALL_OW 120
// for i in ardepo2 do
4550: LD_ADDR_VAR 0 2
4554: PUSH
4555: LD_INT 733
4557: PUSH
4558: FOR_IN
4559: IFFALSE 4747
// begin for i = 1 to 2 do
4561: LD_ADDR_VAR 0 2
4565: PUSH
4566: DOUBLE
4567: LD_INT 1
4569: DEC
4570: ST_TO_ADDR
4571: LD_INT 2
4573: PUSH
4574: FOR_TO
4575: IFFALSE 4743
// begin hc_gallery =  ;
4577: LD_ADDR_OWVAR 33
4581: PUSH
4582: LD_STRING 
4584: ST_TO_ADDR
// hc_name =  ;
4585: LD_ADDR_OWVAR 26
4589: PUSH
4590: LD_STRING 
4592: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
4593: LD_ADDR_OWVAR 29
4597: PUSH
4598: LD_INT 9
4600: PPUSH
4601: LD_INT 11
4603: PPUSH
4604: CALL_OW 12
4608: PUSH
4609: LD_INT 10
4611: PPUSH
4612: LD_INT 12
4614: PPUSH
4615: CALL_OW 12
4619: PUSH
4620: EMPTY
4621: LIST
4622: LIST
4623: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 7 ) , Rand ( 5 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) ] ;
4624: LD_ADDR_OWVAR 31
4628: PUSH
4629: LD_INT 0
4631: PPUSH
4632: LD_INT 7
4634: PPUSH
4635: CALL_OW 12
4639: PUSH
4640: LD_INT 5
4642: PPUSH
4643: LD_INT 7
4645: PPUSH
4646: CALL_OW 12
4650: PUSH
4651: LD_INT 0
4653: PPUSH
4654: LD_INT 7
4656: PPUSH
4657: CALL_OW 12
4661: PUSH
4662: LD_INT 0
4664: PPUSH
4665: LD_INT 7
4667: PPUSH
4668: CALL_OW 12
4672: PUSH
4673: EMPTY
4674: LIST
4675: LIST
4676: LIST
4677: LIST
4678: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
4679: LD_ADDR_OWVAR 27
4683: PUSH
4684: LD_INT 1
4686: PPUSH
4687: LD_INT 2
4689: PPUSH
4690: CALL_OW 12
4694: ST_TO_ADDR
// hc_class = 2 ;
4695: LD_ADDR_OWVAR 28
4699: PUSH
4700: LD_INT 2
4702: ST_TO_ADDR
// un = CreateHuman ;
4703: LD_ADDR_VAR 0 3
4707: PUSH
4708: CALL_OW 44
4712: ST_TO_ADDR
// PlaceHumanInUnit ( un , ardepo2 ) ;
4713: LD_VAR 0 3
4717: PPUSH
4718: LD_INT 733
4720: PPUSH
4721: CALL_OW 52
// ArBigBaseEng = ArBigBaseEng ^ un ;
4725: LD_ADDR_EXP 13
4729: PUSH
4730: LD_EXP 13
4734: PUSH
4735: LD_VAR 0 3
4739: ADD
4740: ST_TO_ADDR
// end ;
4741: GO 4574
4743: POP
4744: POP
// end ;
4745: GO 4558
4747: POP
4748: POP
// for i in arbar2 do
4749: LD_ADDR_VAR 0 2
4753: PUSH
4754: LD_INT 794
4756: PUSH
4757: FOR_IN
4758: IFFALSE 4930
// begin for i = 1 to 2 do
4760: LD_ADDR_VAR 0 2
4764: PUSH
4765: DOUBLE
4766: LD_INT 1
4768: DEC
4769: ST_TO_ADDR
4770: LD_INT 2
4772: PUSH
4773: FOR_TO
4774: IFFALSE 4926
// begin hc_gallery =  ;
4776: LD_ADDR_OWVAR 33
4780: PUSH
4781: LD_STRING 
4783: ST_TO_ADDR
// hc_name =  ;
4784: LD_ADDR_OWVAR 26
4788: PUSH
4789: LD_STRING 
4791: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
4792: LD_ADDR_OWVAR 29
4796: PUSH
4797: LD_INT 9
4799: PPUSH
4800: LD_INT 11
4802: PPUSH
4803: CALL_OW 12
4807: PUSH
4808: LD_INT 10
4810: PPUSH
4811: LD_INT 12
4813: PPUSH
4814: CALL_OW 12
4818: PUSH
4819: EMPTY
4820: LIST
4821: LIST
4822: ST_TO_ADDR
// hc_skills = [ Rand ( 5 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) ] ;
4823: LD_ADDR_OWVAR 31
4827: PUSH
4828: LD_INT 5
4830: PPUSH
4831: LD_INT 7
4833: PPUSH
4834: CALL_OW 12
4838: PUSH
4839: LD_INT 0
4841: PPUSH
4842: LD_INT 7
4844: PPUSH
4845: CALL_OW 12
4849: PUSH
4850: LD_INT 0
4852: PPUSH
4853: LD_INT 7
4855: PPUSH
4856: CALL_OW 12
4860: PUSH
4861: LD_INT 0
4863: PPUSH
4864: LD_INT 7
4866: PPUSH
4867: CALL_OW 12
4871: PUSH
4872: EMPTY
4873: LIST
4874: LIST
4875: LIST
4876: LIST
4877: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
4878: LD_ADDR_OWVAR 27
4882: PUSH
4883: LD_INT 1
4885: PPUSH
4886: LD_INT 2
4888: PPUSH
4889: CALL_OW 12
4893: ST_TO_ADDR
// hc_class = 8 ;
4894: LD_ADDR_OWVAR 28
4898: PUSH
4899: LD_INT 8
4901: ST_TO_ADDR
// un = CreateHuman ;
4902: LD_ADDR_VAR 0 3
4906: PUSH
4907: CALL_OW 44
4911: ST_TO_ADDR
// PlaceHumanInUnit ( un , arbar2 ) ;
4912: LD_VAR 0 3
4916: PPUSH
4917: LD_INT 794
4919: PPUSH
4920: CALL_OW 52
// end ;
4924: GO 4773
4926: POP
4927: POP
// end ;
4928: GO 4757
4930: POP
4931: POP
// for i in arbar3 do
4932: LD_ADDR_VAR 0 2
4936: PUSH
4937: LD_INT 855
4939: PUSH
4940: FOR_IN
4941: IFFALSE 5113
// begin for i = 1 to 2 do
4943: LD_ADDR_VAR 0 2
4947: PUSH
4948: DOUBLE
4949: LD_INT 1
4951: DEC
4952: ST_TO_ADDR
4953: LD_INT 2
4955: PUSH
4956: FOR_TO
4957: IFFALSE 5109
// begin hc_gallery =  ;
4959: LD_ADDR_OWVAR 33
4963: PUSH
4964: LD_STRING 
4966: ST_TO_ADDR
// hc_name =  ;
4967: LD_ADDR_OWVAR 26
4971: PUSH
4972: LD_STRING 
4974: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
4975: LD_ADDR_OWVAR 29
4979: PUSH
4980: LD_INT 9
4982: PPUSH
4983: LD_INT 11
4985: PPUSH
4986: CALL_OW 12
4990: PUSH
4991: LD_INT 10
4993: PPUSH
4994: LD_INT 12
4996: PPUSH
4997: CALL_OW 12
5001: PUSH
5002: EMPTY
5003: LIST
5004: LIST
5005: ST_TO_ADDR
// hc_skills = [ Rand ( 5 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) ] ;
5006: LD_ADDR_OWVAR 31
5010: PUSH
5011: LD_INT 5
5013: PPUSH
5014: LD_INT 7
5016: PPUSH
5017: CALL_OW 12
5021: PUSH
5022: LD_INT 0
5024: PPUSH
5025: LD_INT 7
5027: PPUSH
5028: CALL_OW 12
5032: PUSH
5033: LD_INT 0
5035: PPUSH
5036: LD_INT 7
5038: PPUSH
5039: CALL_OW 12
5043: PUSH
5044: LD_INT 0
5046: PPUSH
5047: LD_INT 7
5049: PPUSH
5050: CALL_OW 12
5054: PUSH
5055: EMPTY
5056: LIST
5057: LIST
5058: LIST
5059: LIST
5060: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
5061: LD_ADDR_OWVAR 27
5065: PUSH
5066: LD_INT 1
5068: PPUSH
5069: LD_INT 2
5071: PPUSH
5072: CALL_OW 12
5076: ST_TO_ADDR
// hc_class = 1 ;
5077: LD_ADDR_OWVAR 28
5081: PUSH
5082: LD_INT 1
5084: ST_TO_ADDR
// un = CreateHuman ;
5085: LD_ADDR_VAR 0 3
5089: PUSH
5090: CALL_OW 44
5094: ST_TO_ADDR
// PlaceHumanInUnit ( un , arbar3 ) ;
5095: LD_VAR 0 3
5099: PPUSH
5100: LD_INT 855
5102: PPUSH
5103: CALL_OW 52
// end ;
5107: GO 4956
5109: POP
5110: POP
// end ;
5111: GO 4940
5113: POP
5114: POP
// for i in arfab2 do
5115: LD_ADDR_VAR 0 2
5119: PUSH
5120: LD_INT 702
5122: PUSH
5123: FOR_IN
5124: IFFALSE 5296
// begin for i = 1 to 6 do
5126: LD_ADDR_VAR 0 2
5130: PUSH
5131: DOUBLE
5132: LD_INT 1
5134: DEC
5135: ST_TO_ADDR
5136: LD_INT 6
5138: PUSH
5139: FOR_TO
5140: IFFALSE 5292
// begin hc_gallery =  ;
5142: LD_ADDR_OWVAR 33
5146: PUSH
5147: LD_STRING 
5149: ST_TO_ADDR
// hc_name =  ;
5150: LD_ADDR_OWVAR 26
5154: PUSH
5155: LD_STRING 
5157: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
5158: LD_ADDR_OWVAR 29
5162: PUSH
5163: LD_INT 9
5165: PPUSH
5166: LD_INT 11
5168: PPUSH
5169: CALL_OW 12
5173: PUSH
5174: LD_INT 10
5176: PPUSH
5177: LD_INT 12
5179: PPUSH
5180: CALL_OW 12
5184: PUSH
5185: EMPTY
5186: LIST
5187: LIST
5188: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 7 ) , Rand ( 0 , 7 ) , Rand ( 5 , 7 ) , Rand ( 0 , 7 ) ] ;
5189: LD_ADDR_OWVAR 31
5193: PUSH
5194: LD_INT 0
5196: PPUSH
5197: LD_INT 7
5199: PPUSH
5200: CALL_OW 12
5204: PUSH
5205: LD_INT 0
5207: PPUSH
5208: LD_INT 7
5210: PPUSH
5211: CALL_OW 12
5215: PUSH
5216: LD_INT 5
5218: PPUSH
5219: LD_INT 7
5221: PPUSH
5222: CALL_OW 12
5226: PUSH
5227: LD_INT 0
5229: PPUSH
5230: LD_INT 7
5232: PPUSH
5233: CALL_OW 12
5237: PUSH
5238: EMPTY
5239: LIST
5240: LIST
5241: LIST
5242: LIST
5243: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
5244: LD_ADDR_OWVAR 27
5248: PUSH
5249: LD_INT 1
5251: PPUSH
5252: LD_INT 2
5254: PPUSH
5255: CALL_OW 12
5259: ST_TO_ADDR
// hc_class = 3 ;
5260: LD_ADDR_OWVAR 28
5264: PUSH
5265: LD_INT 3
5267: ST_TO_ADDR
// un = CreateHuman ;
5268: LD_ADDR_VAR 0 3
5272: PUSH
5273: CALL_OW 44
5277: ST_TO_ADDR
// PlaceHumanInUnit ( un , arfab2 ) ;
5278: LD_VAR 0 3
5282: PPUSH
5283: LD_INT 702
5285: PPUSH
5286: CALL_OW 52
// end ;
5290: GO 5139
5292: POP
5293: POP
// end ;
5294: GO 5123
5296: POP
5297: POP
// for i in arlab2 do
5298: LD_ADDR_VAR 0 2
5302: PUSH
5303: LD_INT 725
5305: PUSH
5306: FOR_IN
5307: IFFALSE 5479
// begin for i = 1 to 2 do
5309: LD_ADDR_VAR 0 2
5313: PUSH
5314: DOUBLE
5315: LD_INT 1
5317: DEC
5318: ST_TO_ADDR
5319: LD_INT 2
5321: PUSH
5322: FOR_TO
5323: IFFALSE 5475
// begin hc_gallery =  ;
5325: LD_ADDR_OWVAR 33
5329: PUSH
5330: LD_STRING 
5332: ST_TO_ADDR
// hc_name =  ;
5333: LD_ADDR_OWVAR 26
5337: PUSH
5338: LD_STRING 
5340: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
5341: LD_ADDR_OWVAR 29
5345: PUSH
5346: LD_INT 9
5348: PPUSH
5349: LD_INT 11
5351: PPUSH
5352: CALL_OW 12
5356: PUSH
5357: LD_INT 10
5359: PPUSH
5360: LD_INT 12
5362: PPUSH
5363: CALL_OW 12
5367: PUSH
5368: EMPTY
5369: LIST
5370: LIST
5371: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) , Rand ( 5 , 7 ) ] ;
5372: LD_ADDR_OWVAR 31
5376: PUSH
5377: LD_INT 0
5379: PPUSH
5380: LD_INT 7
5382: PPUSH
5383: CALL_OW 12
5387: PUSH
5388: LD_INT 0
5390: PPUSH
5391: LD_INT 7
5393: PPUSH
5394: CALL_OW 12
5398: PUSH
5399: LD_INT 0
5401: PPUSH
5402: LD_INT 7
5404: PPUSH
5405: CALL_OW 12
5409: PUSH
5410: LD_INT 5
5412: PPUSH
5413: LD_INT 7
5415: PPUSH
5416: CALL_OW 12
5420: PUSH
5421: EMPTY
5422: LIST
5423: LIST
5424: LIST
5425: LIST
5426: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
5427: LD_ADDR_OWVAR 27
5431: PUSH
5432: LD_INT 1
5434: PPUSH
5435: LD_INT 2
5437: PPUSH
5438: CALL_OW 12
5442: ST_TO_ADDR
// hc_class = 4 ;
5443: LD_ADDR_OWVAR 28
5447: PUSH
5448: LD_INT 4
5450: ST_TO_ADDR
// un = CreateHuman ;
5451: LD_ADDR_VAR 0 3
5455: PUSH
5456: CALL_OW 44
5460: ST_TO_ADDR
// PlaceHumanInUnit ( un , arlab2 ) ;
5461: LD_VAR 0 3
5465: PPUSH
5466: LD_INT 725
5468: PPUSH
5469: CALL_OW 52
// end ;
5473: GO 5322
5475: POP
5476: POP
// end ;
5477: GO 5306
5479: POP
5480: POP
// for i in arlab3 do
5481: LD_ADDR_VAR 0 2
5485: PUSH
5486: LD_INT 711
5488: PUSH
5489: FOR_IN
5490: IFFALSE 5662
// begin for i = 1 to 2 do
5492: LD_ADDR_VAR 0 2
5496: PUSH
5497: DOUBLE
5498: LD_INT 1
5500: DEC
5501: ST_TO_ADDR
5502: LD_INT 2
5504: PUSH
5505: FOR_TO
5506: IFFALSE 5658
// begin hc_gallery =  ;
5508: LD_ADDR_OWVAR 33
5512: PUSH
5513: LD_STRING 
5515: ST_TO_ADDR
// hc_name =  ;
5516: LD_ADDR_OWVAR 26
5520: PUSH
5521: LD_STRING 
5523: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
5524: LD_ADDR_OWVAR 29
5528: PUSH
5529: LD_INT 9
5531: PPUSH
5532: LD_INT 11
5534: PPUSH
5535: CALL_OW 12
5539: PUSH
5540: LD_INT 10
5542: PPUSH
5543: LD_INT 12
5545: PPUSH
5546: CALL_OW 12
5550: PUSH
5551: EMPTY
5552: LIST
5553: LIST
5554: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) , Rand ( 5 , 7 ) ] ;
5555: LD_ADDR_OWVAR 31
5559: PUSH
5560: LD_INT 0
5562: PPUSH
5563: LD_INT 7
5565: PPUSH
5566: CALL_OW 12
5570: PUSH
5571: LD_INT 0
5573: PPUSH
5574: LD_INT 7
5576: PPUSH
5577: CALL_OW 12
5581: PUSH
5582: LD_INT 0
5584: PPUSH
5585: LD_INT 7
5587: PPUSH
5588: CALL_OW 12
5592: PUSH
5593: LD_INT 5
5595: PPUSH
5596: LD_INT 7
5598: PPUSH
5599: CALL_OW 12
5603: PUSH
5604: EMPTY
5605: LIST
5606: LIST
5607: LIST
5608: LIST
5609: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
5610: LD_ADDR_OWVAR 27
5614: PUSH
5615: LD_INT 1
5617: PPUSH
5618: LD_INT 2
5620: PPUSH
5621: CALL_OW 12
5625: ST_TO_ADDR
// hc_class = 4 ;
5626: LD_ADDR_OWVAR 28
5630: PUSH
5631: LD_INT 4
5633: ST_TO_ADDR
// un = CreateHuman ;
5634: LD_ADDR_VAR 0 3
5638: PUSH
5639: CALL_OW 44
5643: ST_TO_ADDR
// PlaceHumanInUnit ( un , arlab3 ) ;
5644: LD_VAR 0 3
5648: PPUSH
5649: LD_INT 711
5651: PPUSH
5652: CALL_OW 52
// end ;
5656: GO 5505
5658: POP
5659: POP
// end ;
5660: GO 5489
5662: POP
5663: POP
// for i = 1 to 5 do
5664: LD_ADDR_VAR 0 2
5668: PUSH
5669: DOUBLE
5670: LD_INT 1
5672: DEC
5673: ST_TO_ADDR
5674: LD_INT 5
5676: PUSH
5677: FOR_TO
5678: IFFALSE 5849
// begin hc_gallery =  ;
5680: LD_ADDR_OWVAR 33
5684: PUSH
5685: LD_STRING 
5687: ST_TO_ADDR
// hc_name =  ;
5688: LD_ADDR_OWVAR 26
5692: PUSH
5693: LD_STRING 
5695: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
5696: LD_ADDR_OWVAR 29
5700: PUSH
5701: LD_INT 9
5703: PPUSH
5704: LD_INT 11
5706: PPUSH
5707: CALL_OW 12
5711: PUSH
5712: LD_INT 10
5714: PPUSH
5715: LD_INT 12
5717: PPUSH
5718: CALL_OW 12
5722: PUSH
5723: EMPTY
5724: LIST
5725: LIST
5726: ST_TO_ADDR
// hc_skills = [ Rand ( 5 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) ] ;
5727: LD_ADDR_OWVAR 31
5731: PUSH
5732: LD_INT 5
5734: PPUSH
5735: LD_INT 7
5737: PPUSH
5738: CALL_OW 12
5742: PUSH
5743: LD_INT 0
5745: PPUSH
5746: LD_INT 7
5748: PPUSH
5749: CALL_OW 12
5753: PUSH
5754: LD_INT 0
5756: PPUSH
5757: LD_INT 7
5759: PPUSH
5760: CALL_OW 12
5764: PUSH
5765: LD_INT 0
5767: PPUSH
5768: LD_INT 7
5770: PPUSH
5771: CALL_OW 12
5775: PUSH
5776: EMPTY
5777: LIST
5778: LIST
5779: LIST
5780: LIST
5781: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
5782: LD_ADDR_OWVAR 27
5786: PUSH
5787: LD_INT 1
5789: PPUSH
5790: LD_INT 2
5792: PPUSH
5793: CALL_OW 12
5797: ST_TO_ADDR
// hc_class = 1 ;
5798: LD_ADDR_OWVAR 28
5802: PUSH
5803: LD_INT 1
5805: ST_TO_ADDR
// un = CreateHuman ;
5806: LD_ADDR_VAR 0 3
5810: PUSH
5811: CALL_OW 44
5815: ST_TO_ADDR
// PlaceUnitArea ( un , ArPatrolS , false ) ;
5816: LD_VAR 0 3
5820: PPUSH
5821: LD_INT 22
5823: PPUSH
5824: LD_INT 0
5826: PPUSH
5827: CALL_OW 49
// ArPatrol = ArPatrol ^ un ;
5831: LD_ADDR_EXP 17
5835: PUSH
5836: LD_EXP 17
5840: PUSH
5841: LD_VAR 0 3
5845: ADD
5846: ST_TO_ADDR
// end ;
5847: GO 5677
5849: POP
5850: POP
// hc_gallery =  ;
5851: LD_ADDR_OWVAR 33
5855: PUSH
5856: LD_STRING 
5858: ST_TO_ADDR
// hc_name =  ;
5859: LD_ADDR_OWVAR 26
5863: PUSH
5864: LD_STRING 
5866: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
5867: LD_ADDR_OWVAR 29
5871: PUSH
5872: LD_INT 9
5874: PPUSH
5875: LD_INT 11
5877: PPUSH
5878: CALL_OW 12
5882: PUSH
5883: LD_INT 10
5885: PPUSH
5886: LD_INT 12
5888: PPUSH
5889: CALL_OW 12
5893: PUSH
5894: EMPTY
5895: LIST
5896: LIST
5897: ST_TO_ADDR
// hc_skills = [ Rand ( 5 , 7 ) , Rand ( 0 , 7 ) , 6 , Rand ( 0 , 7 ) ] ;
5898: LD_ADDR_OWVAR 31
5902: PUSH
5903: LD_INT 5
5905: PPUSH
5906: LD_INT 7
5908: PPUSH
5909: CALL_OW 12
5913: PUSH
5914: LD_INT 0
5916: PPUSH
5917: LD_INT 7
5919: PPUSH
5920: CALL_OW 12
5924: PUSH
5925: LD_INT 6
5927: PUSH
5928: LD_INT 0
5930: PPUSH
5931: LD_INT 7
5933: PPUSH
5934: CALL_OW 12
5938: PUSH
5939: EMPTY
5940: LIST
5941: LIST
5942: LIST
5943: LIST
5944: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
5945: LD_ADDR_OWVAR 27
5949: PUSH
5950: LD_INT 1
5952: PPUSH
5953: LD_INT 2
5955: PPUSH
5956: CALL_OW 12
5960: ST_TO_ADDR
// hc_class = 3 ;
5961: LD_ADDR_OWVAR 28
5965: PUSH
5966: LD_INT 3
5968: ST_TO_ADDR
// ArControler := CreateHuman ;
5969: LD_ADDR_EXP 16
5973: PUSH
5974: CALL_OW 44
5978: ST_TO_ADDR
// PlaceHumanInUnit ( ArControler , ArControl ) ;
5979: LD_EXP 16
5983: PPUSH
5984: LD_INT 864
5986: PPUSH
5987: CALL_OW 52
// uc_nation = 2 ;
5991: LD_ADDR_OWVAR 21
5995: PUSH
5996: LD_INT 2
5998: ST_TO_ADDR
// hc_gallery = ELGalNefarem2 ;
5999: LD_ADDR_OWVAR 33
6003: PUSH
6004: LD_STRING ELGalNefarem2
6006: ST_TO_ADDR
// hc_face_number = 3 ;
6007: LD_ADDR_OWVAR 34
6011: PUSH
6012: LD_INT 3
6014: ST_TO_ADDR
// hc_name = 2pac ;
6015: LD_ADDR_OWVAR 26
6019: PUSH
6020: LD_STRING 2pac
6022: ST_TO_ADDR
// hc_attr = [ Rand ( 10 , 11 ) , Rand ( 10 , 12 ) ] ;
6023: LD_ADDR_OWVAR 29
6027: PUSH
6028: LD_INT 10
6030: PPUSH
6031: LD_INT 11
6033: PPUSH
6034: CALL_OW 12
6038: PUSH
6039: LD_INT 10
6041: PPUSH
6042: LD_INT 12
6044: PPUSH
6045: CALL_OW 12
6049: PUSH
6050: EMPTY
6051: LIST
6052: LIST
6053: ST_TO_ADDR
// hc_skills = [ 6 , 3 , 1 , 0 ] ;
6054: LD_ADDR_OWVAR 31
6058: PUSH
6059: LD_INT 6
6061: PUSH
6062: LD_INT 3
6064: PUSH
6065: LD_INT 1
6067: PUSH
6068: LD_INT 0
6070: PUSH
6071: EMPTY
6072: LIST
6073: LIST
6074: LIST
6075: LIST
6076: ST_TO_ADDR
// hc_sex = sex_male ;
6077: LD_ADDR_OWVAR 27
6081: PUSH
6082: LD_INT 1
6084: ST_TO_ADDR
// hc_class = 1 ;
6085: LD_ADDR_OWVAR 28
6089: PUSH
6090: LD_INT 1
6092: ST_TO_ADDR
// pac = CreateHuman ;
6093: LD_ADDR_EXP 19
6097: PUSH
6098: CALL_OW 44
6102: ST_TO_ADDR
// PlaceHumanInUnit ( pac , ardepo2 ) ;
6103: LD_EXP 19
6107: PPUSH
6108: LD_INT 733
6110: PPUSH
6111: CALL_OW 52
// uc_side = 3 ;
6115: LD_ADDR_OWVAR 20
6119: PUSH
6120: LD_INT 3
6122: ST_TO_ADDR
// uc_nation = 3 ;
6123: LD_ADDR_OWVAR 21
6127: PUSH
6128: LD_INT 3
6130: ST_TO_ADDR
// hc_gallery = Wampir ;
6131: LD_ADDR_OWVAR 33
6135: PUSH
6136: LD_STRING Wampir
6138: ST_TO_ADDR
// hc_face_number = 1 ;
6139: LD_ADDR_OWVAR 34
6143: PUSH
6144: LD_INT 1
6146: ST_TO_ADDR
// hc_name = Wampir ;
6147: LD_ADDR_OWVAR 26
6151: PUSH
6152: LD_STRING Wampir
6154: ST_TO_ADDR
// hc_attr = [ Rand ( 10 , 11 ) , Rand ( 10 , 12 ) ] ;
6155: LD_ADDR_OWVAR 29
6159: PUSH
6160: LD_INT 10
6162: PPUSH
6163: LD_INT 11
6165: PPUSH
6166: CALL_OW 12
6170: PUSH
6171: LD_INT 10
6173: PPUSH
6174: LD_INT 12
6176: PPUSH
6177: CALL_OW 12
6181: PUSH
6182: EMPTY
6183: LIST
6184: LIST
6185: ST_TO_ADDR
// hc_skills = [ 6 , 3 , 1 , 0 ] ;
6186: LD_ADDR_OWVAR 31
6190: PUSH
6191: LD_INT 6
6193: PUSH
6194: LD_INT 3
6196: PUSH
6197: LD_INT 1
6199: PUSH
6200: LD_INT 0
6202: PUSH
6203: EMPTY
6204: LIST
6205: LIST
6206: LIST
6207: LIST
6208: ST_TO_ADDR
// hc_sex = sex_male ;
6209: LD_ADDR_OWVAR 27
6213: PUSH
6214: LD_INT 1
6216: ST_TO_ADDR
// hc_class = 1 ;
6217: LD_ADDR_OWVAR 28
6221: PUSH
6222: LD_INT 1
6224: ST_TO_ADDR
// Wamp = CreateHuman ;
6225: LD_ADDR_EXP 18
6229: PUSH
6230: CALL_OW 44
6234: ST_TO_ADDR
// uc_side = 7 ;
6235: LD_ADDR_OWVAR 20
6239: PUSH
6240: LD_INT 7
6242: ST_TO_ADDR
// uc_nation = 2 ;
6243: LD_ADDR_OWVAR 21
6247: PUSH
6248: LD_INT 2
6250: ST_TO_ADDR
// hc_gallery = ELGalNefarem2 ;
6251: LD_ADDR_OWVAR 33
6255: PUSH
6256: LD_STRING ELGalNefarem2
6258: ST_TO_ADDR
// hc_face_number = 2 ;
6259: LD_ADDR_OWVAR 34
6263: PUSH
6264: LD_INT 2
6266: ST_TO_ADDR
// hc_name = Czurak ;
6267: LD_ADDR_OWVAR 26
6271: PUSH
6272: LD_STRING Czurak
6274: ST_TO_ADDR
// hc_attr = [ Rand ( 10 , 11 ) , Rand ( 10 , 12 ) ] ;
6275: LD_ADDR_OWVAR 29
6279: PUSH
6280: LD_INT 10
6282: PPUSH
6283: LD_INT 11
6285: PPUSH
6286: CALL_OW 12
6290: PUSH
6291: LD_INT 10
6293: PPUSH
6294: LD_INT 12
6296: PPUSH
6297: CALL_OW 12
6301: PUSH
6302: EMPTY
6303: LIST
6304: LIST
6305: ST_TO_ADDR
// hc_skills = [ 2 , 0 , 2 , 6 ] ;
6306: LD_ADDR_OWVAR 31
6310: PUSH
6311: LD_INT 2
6313: PUSH
6314: LD_INT 0
6316: PUSH
6317: LD_INT 2
6319: PUSH
6320: LD_INT 6
6322: PUSH
6323: EMPTY
6324: LIST
6325: LIST
6326: LIST
6327: LIST
6328: ST_TO_ADDR
// hc_sex = sex_male ;
6329: LD_ADDR_OWVAR 27
6333: PUSH
6334: LD_INT 1
6336: ST_TO_ADDR
// hc_class = 4 ;
6337: LD_ADDR_OWVAR 28
6341: PUSH
6342: LD_INT 4
6344: ST_TO_ADDR
// Czurak = CreateHuman ;
6345: LD_ADDR_EXP 22
6349: PUSH
6350: CALL_OW 44
6354: ST_TO_ADDR
// PlaceHumanInUnit ( Czurak , arlab2 ) ;
6355: LD_EXP 22
6359: PPUSH
6360: LD_INT 725
6362: PPUSH
6363: CALL_OW 52
// end ;
6367: LD_VAR 0 1
6371: RET
// export RuPatrol1 , RuPatrol2 ; export function PrepareRussian ; var i , un , RuTurr ; begin
6372: LD_INT 0
6374: PPUSH
6375: PPUSH
6376: PPUSH
6377: PPUSH
// uc_side = 3 ;
6378: LD_ADDR_OWVAR 20
6382: PUSH
6383: LD_INT 3
6385: ST_TO_ADDR
// uc_nation = 3 ;
6386: LD_ADDR_OWVAR 21
6390: PUSH
6391: LD_INT 3
6393: ST_TO_ADDR
// RuTurr := FilterAllUnits ( [ [ f_side , 3 ] , [ f_btype , b_bunker ] ] ) ;
6394: LD_ADDR_VAR 0 4
6398: PUSH
6399: LD_INT 22
6401: PUSH
6402: LD_INT 3
6404: PUSH
6405: EMPTY
6406: LIST
6407: LIST
6408: PUSH
6409: LD_INT 30
6411: PUSH
6412: LD_INT 32
6414: PUSH
6415: EMPTY
6416: LIST
6417: LIST
6418: PUSH
6419: EMPTY
6420: LIST
6421: LIST
6422: PPUSH
6423: CALL_OW 69
6427: ST_TO_ADDR
// for i in RuTurr do
6428: LD_ADDR_VAR 0 2
6432: PUSH
6433: LD_VAR 0 4
6437: PUSH
6438: FOR_IN
6439: IFFALSE 6608
// begin if IsInUnit ( i ) = 0 then
6441: LD_VAR 0 2
6445: PPUSH
6446: CALL_OW 310
6450: PUSH
6451: LD_INT 0
6453: EQUAL
6454: IFFALSE 6606
// begin hc_gallery =  ;
6456: LD_ADDR_OWVAR 33
6460: PUSH
6461: LD_STRING 
6463: ST_TO_ADDR
// hc_name =  ;
6464: LD_ADDR_OWVAR 26
6468: PUSH
6469: LD_STRING 
6471: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
6472: LD_ADDR_OWVAR 29
6476: PUSH
6477: LD_INT 9
6479: PPUSH
6480: LD_INT 11
6482: PPUSH
6483: CALL_OW 12
6487: PUSH
6488: LD_INT 10
6490: PPUSH
6491: LD_INT 12
6493: PPUSH
6494: CALL_OW 12
6498: PUSH
6499: EMPTY
6500: LIST
6501: LIST
6502: ST_TO_ADDR
// hc_skills = [ Rand ( 5 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) ] ;
6503: LD_ADDR_OWVAR 31
6507: PUSH
6508: LD_INT 5
6510: PPUSH
6511: LD_INT 7
6513: PPUSH
6514: CALL_OW 12
6518: PUSH
6519: LD_INT 0
6521: PPUSH
6522: LD_INT 7
6524: PPUSH
6525: CALL_OW 12
6529: PUSH
6530: LD_INT 0
6532: PPUSH
6533: LD_INT 7
6535: PPUSH
6536: CALL_OW 12
6540: PUSH
6541: LD_INT 0
6543: PPUSH
6544: LD_INT 7
6546: PPUSH
6547: CALL_OW 12
6551: PUSH
6552: EMPTY
6553: LIST
6554: LIST
6555: LIST
6556: LIST
6557: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
6558: LD_ADDR_OWVAR 27
6562: PUSH
6563: LD_INT 1
6565: PPUSH
6566: LD_INT 2
6568: PPUSH
6569: CALL_OW 12
6573: ST_TO_ADDR
// hc_class = 1 ;
6574: LD_ADDR_OWVAR 28
6578: PUSH
6579: LD_INT 1
6581: ST_TO_ADDR
// un := CreateHuman ;
6582: LD_ADDR_VAR 0 3
6586: PUSH
6587: CALL_OW 44
6591: ST_TO_ADDR
// PlaceHumanInUnit ( un , i ) ;
6592: LD_VAR 0 3
6596: PPUSH
6597: LD_VAR 0 2
6601: PPUSH
6602: CALL_OW 52
// end ; end ;
6606: GO 6438
6608: POP
6609: POP
// for i in rudepo1 do
6610: LD_ADDR_VAR 0 2
6614: PUSH
6615: LD_INT 914
6617: PUSH
6618: FOR_IN
6619: IFFALSE 6791
// begin for i = 1 to 2 do
6621: LD_ADDR_VAR 0 2
6625: PUSH
6626: DOUBLE
6627: LD_INT 1
6629: DEC
6630: ST_TO_ADDR
6631: LD_INT 2
6633: PUSH
6634: FOR_TO
6635: IFFALSE 6787
// begin hc_gallery =  ;
6637: LD_ADDR_OWVAR 33
6641: PUSH
6642: LD_STRING 
6644: ST_TO_ADDR
// hc_name =  ;
6645: LD_ADDR_OWVAR 26
6649: PUSH
6650: LD_STRING 
6652: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
6653: LD_ADDR_OWVAR 29
6657: PUSH
6658: LD_INT 9
6660: PPUSH
6661: LD_INT 11
6663: PPUSH
6664: CALL_OW 12
6668: PUSH
6669: LD_INT 10
6671: PPUSH
6672: LD_INT 12
6674: PPUSH
6675: CALL_OW 12
6679: PUSH
6680: EMPTY
6681: LIST
6682: LIST
6683: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 7 ) , Rand ( 5 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) ] ;
6684: LD_ADDR_OWVAR 31
6688: PUSH
6689: LD_INT 0
6691: PPUSH
6692: LD_INT 7
6694: PPUSH
6695: CALL_OW 12
6699: PUSH
6700: LD_INT 5
6702: PPUSH
6703: LD_INT 7
6705: PPUSH
6706: CALL_OW 12
6710: PUSH
6711: LD_INT 0
6713: PPUSH
6714: LD_INT 7
6716: PPUSH
6717: CALL_OW 12
6721: PUSH
6722: LD_INT 0
6724: PPUSH
6725: LD_INT 7
6727: PPUSH
6728: CALL_OW 12
6732: PUSH
6733: EMPTY
6734: LIST
6735: LIST
6736: LIST
6737: LIST
6738: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
6739: LD_ADDR_OWVAR 27
6743: PUSH
6744: LD_INT 1
6746: PPUSH
6747: LD_INT 2
6749: PPUSH
6750: CALL_OW 12
6754: ST_TO_ADDR
// hc_class = 2 ;
6755: LD_ADDR_OWVAR 28
6759: PUSH
6760: LD_INT 2
6762: ST_TO_ADDR
// un = CreateHuman ;
6763: LD_ADDR_VAR 0 3
6767: PUSH
6768: CALL_OW 44
6772: ST_TO_ADDR
// PlaceHumanInUnit ( un , rudepo1 ) ;
6773: LD_VAR 0 3
6777: PPUSH
6778: LD_INT 914
6780: PPUSH
6781: CALL_OW 52
// end ;
6785: GO 6634
6787: POP
6788: POP
// end ;
6789: GO 6618
6791: POP
6792: POP
// for i in rudepo2 do
6793: LD_ADDR_VAR 0 2
6797: PUSH
6798: LD_INT 955
6800: PUSH
6801: FOR_IN
6802: IFFALSE 6974
// begin for i = 1 to 2 do
6804: LD_ADDR_VAR 0 2
6808: PUSH
6809: DOUBLE
6810: LD_INT 1
6812: DEC
6813: ST_TO_ADDR
6814: LD_INT 2
6816: PUSH
6817: FOR_TO
6818: IFFALSE 6970
// begin hc_gallery =  ;
6820: LD_ADDR_OWVAR 33
6824: PUSH
6825: LD_STRING 
6827: ST_TO_ADDR
// hc_name =  ;
6828: LD_ADDR_OWVAR 26
6832: PUSH
6833: LD_STRING 
6835: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
6836: LD_ADDR_OWVAR 29
6840: PUSH
6841: LD_INT 9
6843: PPUSH
6844: LD_INT 11
6846: PPUSH
6847: CALL_OW 12
6851: PUSH
6852: LD_INT 10
6854: PPUSH
6855: LD_INT 12
6857: PPUSH
6858: CALL_OW 12
6862: PUSH
6863: EMPTY
6864: LIST
6865: LIST
6866: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 7 ) , Rand ( 5 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) ] ;
6867: LD_ADDR_OWVAR 31
6871: PUSH
6872: LD_INT 0
6874: PPUSH
6875: LD_INT 7
6877: PPUSH
6878: CALL_OW 12
6882: PUSH
6883: LD_INT 5
6885: PPUSH
6886: LD_INT 7
6888: PPUSH
6889: CALL_OW 12
6893: PUSH
6894: LD_INT 0
6896: PPUSH
6897: LD_INT 7
6899: PPUSH
6900: CALL_OW 12
6904: PUSH
6905: LD_INT 0
6907: PPUSH
6908: LD_INT 7
6910: PPUSH
6911: CALL_OW 12
6915: PUSH
6916: EMPTY
6917: LIST
6918: LIST
6919: LIST
6920: LIST
6921: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
6922: LD_ADDR_OWVAR 27
6926: PUSH
6927: LD_INT 1
6929: PPUSH
6930: LD_INT 2
6932: PPUSH
6933: CALL_OW 12
6937: ST_TO_ADDR
// hc_class = 2 ;
6938: LD_ADDR_OWVAR 28
6942: PUSH
6943: LD_INT 2
6945: ST_TO_ADDR
// un = CreateHuman ;
6946: LD_ADDR_VAR 0 3
6950: PUSH
6951: CALL_OW 44
6955: ST_TO_ADDR
// PlaceHumanInUnit ( un , rudepo2 ) ;
6956: LD_VAR 0 3
6960: PPUSH
6961: LD_INT 955
6963: PPUSH
6964: CALL_OW 52
// end ;
6968: GO 6817
6970: POP
6971: POP
// end ;
6972: GO 6801
6974: POP
6975: POP
// for i in rubar1 do
6976: LD_ADDR_VAR 0 2
6980: PUSH
6981: LD_INT 941
6983: PUSH
6984: FOR_IN
6985: IFFALSE 7157
// begin for i = 1 to 2 do
6987: LD_ADDR_VAR 0 2
6991: PUSH
6992: DOUBLE
6993: LD_INT 1
6995: DEC
6996: ST_TO_ADDR
6997: LD_INT 2
6999: PUSH
7000: FOR_TO
7001: IFFALSE 7153
// begin hc_gallery =  ;
7003: LD_ADDR_OWVAR 33
7007: PUSH
7008: LD_STRING 
7010: ST_TO_ADDR
// hc_name =  ;
7011: LD_ADDR_OWVAR 26
7015: PUSH
7016: LD_STRING 
7018: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
7019: LD_ADDR_OWVAR 29
7023: PUSH
7024: LD_INT 9
7026: PPUSH
7027: LD_INT 11
7029: PPUSH
7030: CALL_OW 12
7034: PUSH
7035: LD_INT 10
7037: PPUSH
7038: LD_INT 12
7040: PPUSH
7041: CALL_OW 12
7045: PUSH
7046: EMPTY
7047: LIST
7048: LIST
7049: ST_TO_ADDR
// hc_skills = [ Rand ( 5 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) ] ;
7050: LD_ADDR_OWVAR 31
7054: PUSH
7055: LD_INT 5
7057: PPUSH
7058: LD_INT 7
7060: PPUSH
7061: CALL_OW 12
7065: PUSH
7066: LD_INT 0
7068: PPUSH
7069: LD_INT 7
7071: PPUSH
7072: CALL_OW 12
7076: PUSH
7077: LD_INT 0
7079: PPUSH
7080: LD_INT 7
7082: PPUSH
7083: CALL_OW 12
7087: PUSH
7088: LD_INT 0
7090: PPUSH
7091: LD_INT 7
7093: PPUSH
7094: CALL_OW 12
7098: PUSH
7099: EMPTY
7100: LIST
7101: LIST
7102: LIST
7103: LIST
7104: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
7105: LD_ADDR_OWVAR 27
7109: PUSH
7110: LD_INT 1
7112: PPUSH
7113: LD_INT 2
7115: PPUSH
7116: CALL_OW 12
7120: ST_TO_ADDR
// hc_class = 9 ;
7121: LD_ADDR_OWVAR 28
7125: PUSH
7126: LD_INT 9
7128: ST_TO_ADDR
// un = CreateHuman ;
7129: LD_ADDR_VAR 0 3
7133: PUSH
7134: CALL_OW 44
7138: ST_TO_ADDR
// PlaceHumanInUnit ( un , rubar1 ) ;
7139: LD_VAR 0 3
7143: PPUSH
7144: LD_INT 941
7146: PPUSH
7147: CALL_OW 52
// end ;
7151: GO 7000
7153: POP
7154: POP
// end ;
7155: GO 6984
7157: POP
7158: POP
// for i in rubar2 do
7159: LD_ADDR_VAR 0 2
7163: PUSH
7164: LD_INT 936
7166: PUSH
7167: FOR_IN
7168: IFFALSE 7340
// begin for i = 1 to 2 do
7170: LD_ADDR_VAR 0 2
7174: PUSH
7175: DOUBLE
7176: LD_INT 1
7178: DEC
7179: ST_TO_ADDR
7180: LD_INT 2
7182: PUSH
7183: FOR_TO
7184: IFFALSE 7336
// begin hc_gallery =  ;
7186: LD_ADDR_OWVAR 33
7190: PUSH
7191: LD_STRING 
7193: ST_TO_ADDR
// hc_name =  ;
7194: LD_ADDR_OWVAR 26
7198: PUSH
7199: LD_STRING 
7201: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
7202: LD_ADDR_OWVAR 29
7206: PUSH
7207: LD_INT 9
7209: PPUSH
7210: LD_INT 11
7212: PPUSH
7213: CALL_OW 12
7217: PUSH
7218: LD_INT 10
7220: PPUSH
7221: LD_INT 12
7223: PPUSH
7224: CALL_OW 12
7228: PUSH
7229: EMPTY
7230: LIST
7231: LIST
7232: ST_TO_ADDR
// hc_skills = [ Rand ( 5 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) ] ;
7233: LD_ADDR_OWVAR 31
7237: PUSH
7238: LD_INT 5
7240: PPUSH
7241: LD_INT 7
7243: PPUSH
7244: CALL_OW 12
7248: PUSH
7249: LD_INT 0
7251: PPUSH
7252: LD_INT 7
7254: PPUSH
7255: CALL_OW 12
7259: PUSH
7260: LD_INT 0
7262: PPUSH
7263: LD_INT 7
7265: PPUSH
7266: CALL_OW 12
7270: PUSH
7271: LD_INT 0
7273: PPUSH
7274: LD_INT 7
7276: PPUSH
7277: CALL_OW 12
7281: PUSH
7282: EMPTY
7283: LIST
7284: LIST
7285: LIST
7286: LIST
7287: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
7288: LD_ADDR_OWVAR 27
7292: PUSH
7293: LD_INT 1
7295: PPUSH
7296: LD_INT 2
7298: PPUSH
7299: CALL_OW 12
7303: ST_TO_ADDR
// hc_class = 9 ;
7304: LD_ADDR_OWVAR 28
7308: PUSH
7309: LD_INT 9
7311: ST_TO_ADDR
// un = CreateHuman ;
7312: LD_ADDR_VAR 0 3
7316: PUSH
7317: CALL_OW 44
7321: ST_TO_ADDR
// PlaceHumanInUnit ( un , rubar2 ) ;
7322: LD_VAR 0 3
7326: PPUSH
7327: LD_INT 936
7329: PPUSH
7330: CALL_OW 52
// end ;
7334: GO 7183
7336: POP
7337: POP
// end ;
7338: GO 7167
7340: POP
7341: POP
// for i in rufab1 do
7342: LD_ADDR_VAR 0 2
7346: PUSH
7347: LD_INT 1052
7349: PUSH
7350: FOR_IN
7351: IFFALSE 7523
// begin for i = 1 to 3 do
7353: LD_ADDR_VAR 0 2
7357: PUSH
7358: DOUBLE
7359: LD_INT 1
7361: DEC
7362: ST_TO_ADDR
7363: LD_INT 3
7365: PUSH
7366: FOR_TO
7367: IFFALSE 7519
// begin hc_gallery =  ;
7369: LD_ADDR_OWVAR 33
7373: PUSH
7374: LD_STRING 
7376: ST_TO_ADDR
// hc_name =  ;
7377: LD_ADDR_OWVAR 26
7381: PUSH
7382: LD_STRING 
7384: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
7385: LD_ADDR_OWVAR 29
7389: PUSH
7390: LD_INT 9
7392: PPUSH
7393: LD_INT 11
7395: PPUSH
7396: CALL_OW 12
7400: PUSH
7401: LD_INT 10
7403: PPUSH
7404: LD_INT 12
7406: PPUSH
7407: CALL_OW 12
7411: PUSH
7412: EMPTY
7413: LIST
7414: LIST
7415: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 7 ) , Rand ( 0 , 7 ) , Rand ( 5 , 7 ) , Rand ( 0 , 7 ) ] ;
7416: LD_ADDR_OWVAR 31
7420: PUSH
7421: LD_INT 0
7423: PPUSH
7424: LD_INT 7
7426: PPUSH
7427: CALL_OW 12
7431: PUSH
7432: LD_INT 0
7434: PPUSH
7435: LD_INT 7
7437: PPUSH
7438: CALL_OW 12
7442: PUSH
7443: LD_INT 5
7445: PPUSH
7446: LD_INT 7
7448: PPUSH
7449: CALL_OW 12
7453: PUSH
7454: LD_INT 0
7456: PPUSH
7457: LD_INT 7
7459: PPUSH
7460: CALL_OW 12
7464: PUSH
7465: EMPTY
7466: LIST
7467: LIST
7468: LIST
7469: LIST
7470: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
7471: LD_ADDR_OWVAR 27
7475: PUSH
7476: LD_INT 1
7478: PPUSH
7479: LD_INT 2
7481: PPUSH
7482: CALL_OW 12
7486: ST_TO_ADDR
// hc_class = 3 ;
7487: LD_ADDR_OWVAR 28
7491: PUSH
7492: LD_INT 3
7494: ST_TO_ADDR
// un = CreateHuman ;
7495: LD_ADDR_VAR 0 3
7499: PUSH
7500: CALL_OW 44
7504: ST_TO_ADDR
// PlaceHumanInUnit ( un , rufab1 ) ;
7505: LD_VAR 0 3
7509: PPUSH
7510: LD_INT 1052
7512: PPUSH
7513: CALL_OW 52
// end ;
7517: GO 7366
7519: POP
7520: POP
// end ;
7521: GO 7350
7523: POP
7524: POP
// for i in rufab2 do
7525: LD_ADDR_VAR 0 2
7529: PUSH
7530: LD_INT 1054
7532: PUSH
7533: FOR_IN
7534: IFFALSE 7706
// begin for i = 1 to 3 do
7536: LD_ADDR_VAR 0 2
7540: PUSH
7541: DOUBLE
7542: LD_INT 1
7544: DEC
7545: ST_TO_ADDR
7546: LD_INT 3
7548: PUSH
7549: FOR_TO
7550: IFFALSE 7702
// begin hc_gallery =  ;
7552: LD_ADDR_OWVAR 33
7556: PUSH
7557: LD_STRING 
7559: ST_TO_ADDR
// hc_name =  ;
7560: LD_ADDR_OWVAR 26
7564: PUSH
7565: LD_STRING 
7567: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
7568: LD_ADDR_OWVAR 29
7572: PUSH
7573: LD_INT 9
7575: PPUSH
7576: LD_INT 11
7578: PPUSH
7579: CALL_OW 12
7583: PUSH
7584: LD_INT 10
7586: PPUSH
7587: LD_INT 12
7589: PPUSH
7590: CALL_OW 12
7594: PUSH
7595: EMPTY
7596: LIST
7597: LIST
7598: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 7 ) , Rand ( 0 , 7 ) , Rand ( 5 , 7 ) , Rand ( 0 , 7 ) ] ;
7599: LD_ADDR_OWVAR 31
7603: PUSH
7604: LD_INT 0
7606: PPUSH
7607: LD_INT 7
7609: PPUSH
7610: CALL_OW 12
7614: PUSH
7615: LD_INT 0
7617: PPUSH
7618: LD_INT 7
7620: PPUSH
7621: CALL_OW 12
7625: PUSH
7626: LD_INT 5
7628: PPUSH
7629: LD_INT 7
7631: PPUSH
7632: CALL_OW 12
7636: PUSH
7637: LD_INT 0
7639: PPUSH
7640: LD_INT 7
7642: PPUSH
7643: CALL_OW 12
7647: PUSH
7648: EMPTY
7649: LIST
7650: LIST
7651: LIST
7652: LIST
7653: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
7654: LD_ADDR_OWVAR 27
7658: PUSH
7659: LD_INT 1
7661: PPUSH
7662: LD_INT 2
7664: PPUSH
7665: CALL_OW 12
7669: ST_TO_ADDR
// hc_class = 3 ;
7670: LD_ADDR_OWVAR 28
7674: PUSH
7675: LD_INT 3
7677: ST_TO_ADDR
// un = CreateHuman ;
7678: LD_ADDR_VAR 0 3
7682: PUSH
7683: CALL_OW 44
7687: ST_TO_ADDR
// PlaceHumanInUnit ( un , rufab2 ) ;
7688: LD_VAR 0 3
7692: PPUSH
7693: LD_INT 1054
7695: PPUSH
7696: CALL_OW 52
// end ;
7700: GO 7549
7702: POP
7703: POP
// end ;
7704: GO 7533
7706: POP
7707: POP
// for i in rulab1 do
7708: LD_ADDR_VAR 0 2
7712: PUSH
7713: LD_INT 931
7715: PUSH
7716: FOR_IN
7717: IFFALSE 7889
// begin for i = 1 to 3 do
7719: LD_ADDR_VAR 0 2
7723: PUSH
7724: DOUBLE
7725: LD_INT 1
7727: DEC
7728: ST_TO_ADDR
7729: LD_INT 3
7731: PUSH
7732: FOR_TO
7733: IFFALSE 7885
// begin hc_gallery =  ;
7735: LD_ADDR_OWVAR 33
7739: PUSH
7740: LD_STRING 
7742: ST_TO_ADDR
// hc_name =  ;
7743: LD_ADDR_OWVAR 26
7747: PUSH
7748: LD_STRING 
7750: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
7751: LD_ADDR_OWVAR 29
7755: PUSH
7756: LD_INT 9
7758: PPUSH
7759: LD_INT 11
7761: PPUSH
7762: CALL_OW 12
7766: PUSH
7767: LD_INT 10
7769: PPUSH
7770: LD_INT 12
7772: PPUSH
7773: CALL_OW 12
7777: PUSH
7778: EMPTY
7779: LIST
7780: LIST
7781: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) , Rand ( 5 , 7 ) ] ;
7782: LD_ADDR_OWVAR 31
7786: PUSH
7787: LD_INT 0
7789: PPUSH
7790: LD_INT 7
7792: PPUSH
7793: CALL_OW 12
7797: PUSH
7798: LD_INT 0
7800: PPUSH
7801: LD_INT 7
7803: PPUSH
7804: CALL_OW 12
7808: PUSH
7809: LD_INT 0
7811: PPUSH
7812: LD_INT 7
7814: PPUSH
7815: CALL_OW 12
7819: PUSH
7820: LD_INT 5
7822: PPUSH
7823: LD_INT 7
7825: PPUSH
7826: CALL_OW 12
7830: PUSH
7831: EMPTY
7832: LIST
7833: LIST
7834: LIST
7835: LIST
7836: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
7837: LD_ADDR_OWVAR 27
7841: PUSH
7842: LD_INT 1
7844: PPUSH
7845: LD_INT 2
7847: PPUSH
7848: CALL_OW 12
7852: ST_TO_ADDR
// hc_class = 4 ;
7853: LD_ADDR_OWVAR 28
7857: PUSH
7858: LD_INT 4
7860: ST_TO_ADDR
// un = CreateHuman ;
7861: LD_ADDR_VAR 0 3
7865: PUSH
7866: CALL_OW 44
7870: ST_TO_ADDR
// PlaceHumanInUnit ( un , rulab1 ) ;
7871: LD_VAR 0 3
7875: PPUSH
7876: LD_INT 931
7878: PPUSH
7879: CALL_OW 52
// end ;
7883: GO 7732
7885: POP
7886: POP
// end ;
7887: GO 7716
7889: POP
7890: POP
// for i in rulab2 do
7891: LD_ADDR_VAR 0 2
7895: PUSH
7896: LD_INT 923
7898: PUSH
7899: FOR_IN
7900: IFFALSE 8072
// begin for i = 1 to 3 do
7902: LD_ADDR_VAR 0 2
7906: PUSH
7907: DOUBLE
7908: LD_INT 1
7910: DEC
7911: ST_TO_ADDR
7912: LD_INT 3
7914: PUSH
7915: FOR_TO
7916: IFFALSE 8068
// begin hc_gallery =  ;
7918: LD_ADDR_OWVAR 33
7922: PUSH
7923: LD_STRING 
7925: ST_TO_ADDR
// hc_name =  ;
7926: LD_ADDR_OWVAR 26
7930: PUSH
7931: LD_STRING 
7933: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
7934: LD_ADDR_OWVAR 29
7938: PUSH
7939: LD_INT 9
7941: PPUSH
7942: LD_INT 11
7944: PPUSH
7945: CALL_OW 12
7949: PUSH
7950: LD_INT 10
7952: PPUSH
7953: LD_INT 12
7955: PPUSH
7956: CALL_OW 12
7960: PUSH
7961: EMPTY
7962: LIST
7963: LIST
7964: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) , Rand ( 5 , 7 ) ] ;
7965: LD_ADDR_OWVAR 31
7969: PUSH
7970: LD_INT 0
7972: PPUSH
7973: LD_INT 7
7975: PPUSH
7976: CALL_OW 12
7980: PUSH
7981: LD_INT 0
7983: PPUSH
7984: LD_INT 7
7986: PPUSH
7987: CALL_OW 12
7991: PUSH
7992: LD_INT 0
7994: PPUSH
7995: LD_INT 7
7997: PPUSH
7998: CALL_OW 12
8002: PUSH
8003: LD_INT 5
8005: PPUSH
8006: LD_INT 7
8008: PPUSH
8009: CALL_OW 12
8013: PUSH
8014: EMPTY
8015: LIST
8016: LIST
8017: LIST
8018: LIST
8019: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
8020: LD_ADDR_OWVAR 27
8024: PUSH
8025: LD_INT 1
8027: PPUSH
8028: LD_INT 2
8030: PPUSH
8031: CALL_OW 12
8035: ST_TO_ADDR
// hc_class = 4 ;
8036: LD_ADDR_OWVAR 28
8040: PUSH
8041: LD_INT 4
8043: ST_TO_ADDR
// un = CreateHuman ;
8044: LD_ADDR_VAR 0 3
8048: PUSH
8049: CALL_OW 44
8053: ST_TO_ADDR
// PlaceHumanInUnit ( un , rulab2 ) ;
8054: LD_VAR 0 3
8058: PPUSH
8059: LD_INT 923
8061: PPUSH
8062: CALL_OW 52
// end ;
8066: GO 7915
8068: POP
8069: POP
// end ;
8070: GO 7899
8072: POP
8073: POP
// for i in rulab3 do
8074: LD_ADDR_VAR 0 2
8078: PUSH
8079: LD_INT 926
8081: PUSH
8082: FOR_IN
8083: IFFALSE 8255
// begin for i = 1 to 3 do
8085: LD_ADDR_VAR 0 2
8089: PUSH
8090: DOUBLE
8091: LD_INT 1
8093: DEC
8094: ST_TO_ADDR
8095: LD_INT 3
8097: PUSH
8098: FOR_TO
8099: IFFALSE 8251
// begin hc_gallery =  ;
8101: LD_ADDR_OWVAR 33
8105: PUSH
8106: LD_STRING 
8108: ST_TO_ADDR
// hc_name =  ;
8109: LD_ADDR_OWVAR 26
8113: PUSH
8114: LD_STRING 
8116: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
8117: LD_ADDR_OWVAR 29
8121: PUSH
8122: LD_INT 9
8124: PPUSH
8125: LD_INT 11
8127: PPUSH
8128: CALL_OW 12
8132: PUSH
8133: LD_INT 10
8135: PPUSH
8136: LD_INT 12
8138: PPUSH
8139: CALL_OW 12
8143: PUSH
8144: EMPTY
8145: LIST
8146: LIST
8147: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) , Rand ( 5 , 7 ) ] ;
8148: LD_ADDR_OWVAR 31
8152: PUSH
8153: LD_INT 0
8155: PPUSH
8156: LD_INT 7
8158: PPUSH
8159: CALL_OW 12
8163: PUSH
8164: LD_INT 0
8166: PPUSH
8167: LD_INT 7
8169: PPUSH
8170: CALL_OW 12
8174: PUSH
8175: LD_INT 0
8177: PPUSH
8178: LD_INT 7
8180: PPUSH
8181: CALL_OW 12
8185: PUSH
8186: LD_INT 5
8188: PPUSH
8189: LD_INT 7
8191: PPUSH
8192: CALL_OW 12
8196: PUSH
8197: EMPTY
8198: LIST
8199: LIST
8200: LIST
8201: LIST
8202: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
8203: LD_ADDR_OWVAR 27
8207: PUSH
8208: LD_INT 1
8210: PPUSH
8211: LD_INT 2
8213: PPUSH
8214: CALL_OW 12
8218: ST_TO_ADDR
// hc_class = 4 ;
8219: LD_ADDR_OWVAR 28
8223: PUSH
8224: LD_INT 4
8226: ST_TO_ADDR
// un = CreateHuman ;
8227: LD_ADDR_VAR 0 3
8231: PUSH
8232: CALL_OW 44
8236: ST_TO_ADDR
// PlaceHumanInUnit ( un , rulab3 ) ;
8237: LD_VAR 0 3
8241: PPUSH
8242: LD_INT 926
8244: PPUSH
8245: CALL_OW 52
// end ;
8249: GO 8098
8251: POP
8252: POP
// end ;
8253: GO 8082
8255: POP
8256: POP
// for i = 1 to 5 do
8257: LD_ADDR_VAR 0 2
8261: PUSH
8262: DOUBLE
8263: LD_INT 1
8265: DEC
8266: ST_TO_ADDR
8267: LD_INT 5
8269: PUSH
8270: FOR_TO
8271: IFFALSE 8442
// begin hc_gallery =  ;
8273: LD_ADDR_OWVAR 33
8277: PUSH
8278: LD_STRING 
8280: ST_TO_ADDR
// hc_name =  ;
8281: LD_ADDR_OWVAR 26
8285: PUSH
8286: LD_STRING 
8288: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
8289: LD_ADDR_OWVAR 29
8293: PUSH
8294: LD_INT 9
8296: PPUSH
8297: LD_INT 11
8299: PPUSH
8300: CALL_OW 12
8304: PUSH
8305: LD_INT 10
8307: PPUSH
8308: LD_INT 12
8310: PPUSH
8311: CALL_OW 12
8315: PUSH
8316: EMPTY
8317: LIST
8318: LIST
8319: ST_TO_ADDR
// hc_skills = [ Rand ( 5 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) ] ;
8320: LD_ADDR_OWVAR 31
8324: PUSH
8325: LD_INT 5
8327: PPUSH
8328: LD_INT 7
8330: PPUSH
8331: CALL_OW 12
8335: PUSH
8336: LD_INT 0
8338: PPUSH
8339: LD_INT 7
8341: PPUSH
8342: CALL_OW 12
8346: PUSH
8347: LD_INT 0
8349: PPUSH
8350: LD_INT 7
8352: PPUSH
8353: CALL_OW 12
8357: PUSH
8358: LD_INT 0
8360: PPUSH
8361: LD_INT 7
8363: PPUSH
8364: CALL_OW 12
8368: PUSH
8369: EMPTY
8370: LIST
8371: LIST
8372: LIST
8373: LIST
8374: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
8375: LD_ADDR_OWVAR 27
8379: PUSH
8380: LD_INT 1
8382: PPUSH
8383: LD_INT 2
8385: PPUSH
8386: CALL_OW 12
8390: ST_TO_ADDR
// hc_class = 1 ;
8391: LD_ADDR_OWVAR 28
8395: PUSH
8396: LD_INT 1
8398: ST_TO_ADDR
// un = CreateHuman ;
8399: LD_ADDR_VAR 0 3
8403: PUSH
8404: CALL_OW 44
8408: ST_TO_ADDR
// PlaceUnitArea ( un , RuPatrolS1 , false ) ;
8409: LD_VAR 0 3
8413: PPUSH
8414: LD_INT 32
8416: PPUSH
8417: LD_INT 0
8419: PPUSH
8420: CALL_OW 49
// RuPatrol1 = RuPatrol1 ^ un ;
8424: LD_ADDR_EXP 23
8428: PUSH
8429: LD_EXP 23
8433: PUSH
8434: LD_VAR 0 3
8438: ADD
8439: ST_TO_ADDR
// end ;
8440: GO 8270
8442: POP
8443: POP
// for i = 1 to 5 do
8444: LD_ADDR_VAR 0 2
8448: PUSH
8449: DOUBLE
8450: LD_INT 1
8452: DEC
8453: ST_TO_ADDR
8454: LD_INT 5
8456: PUSH
8457: FOR_TO
8458: IFFALSE 8629
// begin hc_gallery =  ;
8460: LD_ADDR_OWVAR 33
8464: PUSH
8465: LD_STRING 
8467: ST_TO_ADDR
// hc_name =  ;
8468: LD_ADDR_OWVAR 26
8472: PUSH
8473: LD_STRING 
8475: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
8476: LD_ADDR_OWVAR 29
8480: PUSH
8481: LD_INT 9
8483: PPUSH
8484: LD_INT 11
8486: PPUSH
8487: CALL_OW 12
8491: PUSH
8492: LD_INT 10
8494: PPUSH
8495: LD_INT 12
8497: PPUSH
8498: CALL_OW 12
8502: PUSH
8503: EMPTY
8504: LIST
8505: LIST
8506: ST_TO_ADDR
// hc_skills = [ Rand ( 5 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) , Rand ( 0 , 7 ) ] ;
8507: LD_ADDR_OWVAR 31
8511: PUSH
8512: LD_INT 5
8514: PPUSH
8515: LD_INT 7
8517: PPUSH
8518: CALL_OW 12
8522: PUSH
8523: LD_INT 0
8525: PPUSH
8526: LD_INT 7
8528: PPUSH
8529: CALL_OW 12
8533: PUSH
8534: LD_INT 0
8536: PPUSH
8537: LD_INT 7
8539: PPUSH
8540: CALL_OW 12
8544: PUSH
8545: LD_INT 0
8547: PPUSH
8548: LD_INT 7
8550: PPUSH
8551: CALL_OW 12
8555: PUSH
8556: EMPTY
8557: LIST
8558: LIST
8559: LIST
8560: LIST
8561: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
8562: LD_ADDR_OWVAR 27
8566: PUSH
8567: LD_INT 1
8569: PPUSH
8570: LD_INT 2
8572: PPUSH
8573: CALL_OW 12
8577: ST_TO_ADDR
// hc_class = 1 ;
8578: LD_ADDR_OWVAR 28
8582: PUSH
8583: LD_INT 1
8585: ST_TO_ADDR
// un = CreateHuman ;
8586: LD_ADDR_VAR 0 3
8590: PUSH
8591: CALL_OW 44
8595: ST_TO_ADDR
// PlaceUnitArea ( un , RuPatrolS2 , false ) ;
8596: LD_VAR 0 3
8600: PPUSH
8601: LD_INT 33
8603: PPUSH
8604: LD_INT 0
8606: PPUSH
8607: CALL_OW 49
// RuPatrol2 = RuPatrol2 ^ un ;
8611: LD_ADDR_EXP 24
8615: PUSH
8616: LD_EXP 24
8620: PUSH
8621: LD_VAR 0 3
8625: ADD
8626: ST_TO_ADDR
// end ;
8627: GO 8457
8629: POP
8630: POP
// uc_side = 7 ;
8631: LD_ADDR_OWVAR 20
8635: PUSH
8636: LD_INT 7
8638: ST_TO_ADDR
// uc_nation = 1 ;
8639: LD_ADDR_OWVAR 21
8643: PUSH
8644: LD_INT 1
8646: ST_TO_ADDR
// hc_gallery = Gothuk ;
8647: LD_ADDR_OWVAR 33
8651: PUSH
8652: LD_STRING Gothuk
8654: ST_TO_ADDR
// hc_face_number = 1 ;
8655: LD_ADDR_OWVAR 34
8659: PUSH
8660: LD_INT 1
8662: ST_TO_ADDR
// hc_name = Gothuk ;
8663: LD_ADDR_OWVAR 26
8667: PUSH
8668: LD_STRING Gothuk
8670: ST_TO_ADDR
// hc_attr = [ Rand ( 10 , 11 ) , Rand ( 10 , 12 ) ] ;
8671: LD_ADDR_OWVAR 29
8675: PUSH
8676: LD_INT 10
8678: PPUSH
8679: LD_INT 11
8681: PPUSH
8682: CALL_OW 12
8686: PUSH
8687: LD_INT 10
8689: PPUSH
8690: LD_INT 12
8692: PPUSH
8693: CALL_OW 12
8697: PUSH
8698: EMPTY
8699: LIST
8700: LIST
8701: ST_TO_ADDR
// hc_skills = [ 1 , 4 , 2 , 5 ] ;
8702: LD_ADDR_OWVAR 31
8706: PUSH
8707: LD_INT 1
8709: PUSH
8710: LD_INT 4
8712: PUSH
8713: LD_INT 2
8715: PUSH
8716: LD_INT 5
8718: PUSH
8719: EMPTY
8720: LIST
8721: LIST
8722: LIST
8723: LIST
8724: ST_TO_ADDR
// hc_sex = sex_male ;
8725: LD_ADDR_OWVAR 27
8729: PUSH
8730: LD_INT 1
8732: ST_TO_ADDR
// hc_class = 4 ;
8733: LD_ADDR_OWVAR 28
8737: PUSH
8738: LD_INT 4
8740: ST_TO_ADDR
// Gothuk = CreateHuman ;
8741: LD_ADDR_EXP 20
8745: PUSH
8746: CALL_OW 44
8750: ST_TO_ADDR
// PlaceHumanInUnit ( Gothuk , rulab2 ) ;
8751: LD_EXP 20
8755: PPUSH
8756: LD_INT 923
8758: PPUSH
8759: CALL_OW 52
// Drops = CreateCharacter ( Drops ) ;
8763: LD_ADDR_EXP 21
8767: PUSH
8768: LD_STRING Drops
8770: PPUSH
8771: CALL_OW 34
8775: ST_TO_ADDR
// PlaceHumanInUnit ( Drops , rulab1 ) ;
8776: LD_EXP 21
8780: PPUSH
8781: LD_INT 931
8783: PPUSH
8784: CALL_OW 52
// end ; end_of_file
8788: LD_VAR 0 1
8792: RET
// every 0 0$01 do var un , buildings , depots , i ;
8793: GO 8795
8795: DISABLE
8796: LD_INT 0
8798: PPUSH
8799: PPUSH
8800: PPUSH
8801: PPUSH
// begin enable ;
8802: ENABLE
// buildings := FilterUnitsInArea ( ArBase1 , [ [ [ f_side , 2 ] , [ f_type , unit_building ] , [ f_not , [ f_lives , 1000 ] ] ] ] ) ;
8803: LD_ADDR_VAR 0 2
8807: PUSH
8808: LD_INT 12
8810: PPUSH
8811: LD_INT 22
8813: PUSH
8814: LD_INT 2
8816: PUSH
8817: EMPTY
8818: LIST
8819: LIST
8820: PUSH
8821: LD_INT 21
8823: PUSH
8824: LD_INT 3
8826: PUSH
8827: EMPTY
8828: LIST
8829: LIST
8830: PUSH
8831: LD_INT 3
8833: PUSH
8834: LD_INT 24
8836: PUSH
8837: LD_INT 1000
8839: PUSH
8840: EMPTY
8841: LIST
8842: LIST
8843: PUSH
8844: EMPTY
8845: LIST
8846: LIST
8847: PUSH
8848: EMPTY
8849: LIST
8850: LIST
8851: LIST
8852: PUSH
8853: EMPTY
8854: LIST
8855: PPUSH
8856: CALL_OW 70
8860: ST_TO_ADDR
// if buildings > 0 then
8861: LD_VAR 0 2
8865: PUSH
8866: LD_INT 0
8868: GREATER
8869: IFFALSE 8951
// begin for i = 1 to ArSmallBaseEng do
8871: LD_ADDR_VAR 0 4
8875: PUSH
8876: DOUBLE
8877: LD_INT 1
8879: DEC
8880: ST_TO_ADDR
8881: LD_EXP 12
8885: PUSH
8886: FOR_TO
8887: IFFALSE 8949
// begin if IsInUnit ( ArSmallBaseEng [ i ] ) then
8889: LD_EXP 12
8893: PUSH
8894: LD_VAR 0 4
8898: ARRAY
8899: PPUSH
8900: CALL_OW 310
8904: IFFALSE 8923
// ComExitBuilding ( ArSmallBaseEng [ i ] ) else
8906: LD_EXP 12
8910: PUSH
8911: LD_VAR 0 4
8915: ARRAY
8916: PPUSH
8917: CALL_OW 122
8921: GO 8947
// ComRepairBuilding ( ArSmallBaseEng [ i ] , buildings [ 1 ] ) ;
8923: LD_EXP 12
8927: PUSH
8928: LD_VAR 0 4
8932: ARRAY
8933: PPUSH
8934: LD_VAR 0 2
8938: PUSH
8939: LD_INT 1
8941: ARRAY
8942: PPUSH
8943: CALL_OW 130
// end ;
8947: GO 8886
8949: POP
8950: POP
// end ; if buildings = 0 then
8951: LD_VAR 0 2
8955: PUSH
8956: LD_INT 0
8958: EQUAL
8959: IFFALSE 9037
// begin for i = 1 to ArSmallBaseEng do
8961: LD_ADDR_VAR 0 4
8965: PUSH
8966: DOUBLE
8967: LD_INT 1
8969: DEC
8970: ST_TO_ADDR
8971: LD_EXP 12
8975: PUSH
8976: FOR_TO
8977: IFFALSE 9035
// begin if not HasTask ( ArSmallBaseEng [ i ] ) and not IsInUnit ( ArSmallBaseEng [ i ] ) then
8979: LD_EXP 12
8983: PUSH
8984: LD_VAR 0 4
8988: ARRAY
8989: PPUSH
8990: CALL_OW 314
8994: NOT
8995: PUSH
8996: LD_EXP 12
9000: PUSH
9001: LD_VAR 0 4
9005: ARRAY
9006: PPUSH
9007: CALL_OW 310
9011: NOT
9012: AND
9013: IFFALSE 9033
// ComEnterUnit ( ArSmallBaseEng [ i ] , ardepo1 ) ;
9015: LD_EXP 12
9019: PUSH
9020: LD_VAR 0 4
9024: ARRAY
9025: PPUSH
9026: LD_INT 626
9028: PPUSH
9029: CALL_OW 120
// end ;
9033: GO 8976
9035: POP
9036: POP
// end ; end ;
9037: PPOPN 4
9039: END
// every 0 0$01 do var un , buildings , depots , i ;
9040: GO 9042
9042: DISABLE
9043: LD_INT 0
9045: PPUSH
9046: PPUSH
9047: PPUSH
9048: PPUSH
// begin enable ;
9049: ENABLE
// buildings := FilterUnitsInArea ( ArBase2 , [ [ [ f_side , 2 ] , [ f_type , unit_building ] , [ f_not , [ f_lives , 1000 ] ] ] ] ) ;
9050: LD_ADDR_VAR 0 2
9054: PUSH
9055: LD_INT 18
9057: PPUSH
9058: LD_INT 22
9060: PUSH
9061: LD_INT 2
9063: PUSH
9064: EMPTY
9065: LIST
9066: LIST
9067: PUSH
9068: LD_INT 21
9070: PUSH
9071: LD_INT 3
9073: PUSH
9074: EMPTY
9075: LIST
9076: LIST
9077: PUSH
9078: LD_INT 3
9080: PUSH
9081: LD_INT 24
9083: PUSH
9084: LD_INT 1000
9086: PUSH
9087: EMPTY
9088: LIST
9089: LIST
9090: PUSH
9091: EMPTY
9092: LIST
9093: LIST
9094: PUSH
9095: EMPTY
9096: LIST
9097: LIST
9098: LIST
9099: PUSH
9100: EMPTY
9101: LIST
9102: PPUSH
9103: CALL_OW 70
9107: ST_TO_ADDR
// if buildings > 0 then
9108: LD_VAR 0 2
9112: PUSH
9113: LD_INT 0
9115: GREATER
9116: IFFALSE 9198
// begin for i = 1 to ArBigBaseEng do
9118: LD_ADDR_VAR 0 4
9122: PUSH
9123: DOUBLE
9124: LD_INT 1
9126: DEC
9127: ST_TO_ADDR
9128: LD_EXP 13
9132: PUSH
9133: FOR_TO
9134: IFFALSE 9196
// begin if IsInUnit ( ArBigBaseEng [ i ] ) then
9136: LD_EXP 13
9140: PUSH
9141: LD_VAR 0 4
9145: ARRAY
9146: PPUSH
9147: CALL_OW 310
9151: IFFALSE 9170
// ComExitBuilding ( ArBigBaseEng [ i ] ) else
9153: LD_EXP 13
9157: PUSH
9158: LD_VAR 0 4
9162: ARRAY
9163: PPUSH
9164: CALL_OW 122
9168: GO 9194
// ComRepairBuilding ( ArBigBaseEng [ i ] , buildings [ 1 ] ) ;
9170: LD_EXP 13
9174: PUSH
9175: LD_VAR 0 4
9179: ARRAY
9180: PPUSH
9181: LD_VAR 0 2
9185: PUSH
9186: LD_INT 1
9188: ARRAY
9189: PPUSH
9190: CALL_OW 130
// end ;
9194: GO 9133
9196: POP
9197: POP
// end ; if buildings = 0 then
9198: LD_VAR 0 2
9202: PUSH
9203: LD_INT 0
9205: EQUAL
9206: IFFALSE 9284
// begin for i = 1 to ArSmallBaseEng do
9208: LD_ADDR_VAR 0 4
9212: PUSH
9213: DOUBLE
9214: LD_INT 1
9216: DEC
9217: ST_TO_ADDR
9218: LD_EXP 12
9222: PUSH
9223: FOR_TO
9224: IFFALSE 9282
// begin if not HasTask ( ArBigBaseEng [ i ] ) and not IsInUnit ( ArBigBaseEng [ i ] ) then
9226: LD_EXP 13
9230: PUSH
9231: LD_VAR 0 4
9235: ARRAY
9236: PPUSH
9237: CALL_OW 314
9241: NOT
9242: PUSH
9243: LD_EXP 13
9247: PUSH
9248: LD_VAR 0 4
9252: ARRAY
9253: PPUSH
9254: CALL_OW 310
9258: NOT
9259: AND
9260: IFFALSE 9280
// ComEnterUnit ( ArBigBaseEng [ i ] , ardepo2 ) ;
9262: LD_EXP 13
9266: PUSH
9267: LD_VAR 0 4
9271: ARRAY
9272: PPUSH
9273: LD_INT 733
9275: PPUSH
9276: CALL_OW 120
// end ;
9280: GO 9223
9282: POP
9283: POP
// end ; end ;
9284: PPOPN 4
9286: END
// every 0 0$1 do var EnginerList , HealerList , i , build ;
9287: GO 9289
9289: DISABLE
9290: LD_INT 0
9292: PPUSH
9293: PPUSH
9294: PPUSH
9295: PPUSH
// begin enable ;
9296: ENABLE
// EnginerList := FilterUnitsInArea ( ArBase2 , [ [ f_side , 2 ] , [ f_class , 2 ] , [ f_not , [ f_lives , 820 ] ] ] ) ;
9297: LD_ADDR_VAR 0 1
9301: PUSH
9302: LD_INT 18
9304: PPUSH
9305: LD_INT 22
9307: PUSH
9308: LD_INT 2
9310: PUSH
9311: EMPTY
9312: LIST
9313: LIST
9314: PUSH
9315: LD_INT 25
9317: PUSH
9318: LD_INT 2
9320: PUSH
9321: EMPTY
9322: LIST
9323: LIST
9324: PUSH
9325: LD_INT 3
9327: PUSH
9328: LD_INT 24
9330: PUSH
9331: LD_INT 820
9333: PUSH
9334: EMPTY
9335: LIST
9336: LIST
9337: PUSH
9338: EMPTY
9339: LIST
9340: LIST
9341: PUSH
9342: EMPTY
9343: LIST
9344: LIST
9345: LIST
9346: PPUSH
9347: CALL_OW 70
9351: ST_TO_ADDR
// HealerList := FilterAllUnits ( [ [ f_side , 2 ] , [ f_class , 4 ] ] ) ;
9352: LD_ADDR_VAR 0 2
9356: PUSH
9357: LD_INT 22
9359: PUSH
9360: LD_INT 2
9362: PUSH
9363: EMPTY
9364: LIST
9365: LIST
9366: PUSH
9367: LD_INT 25
9369: PUSH
9370: LD_INT 4
9372: PUSH
9373: EMPTY
9374: LIST
9375: LIST
9376: PUSH
9377: EMPTY
9378: LIST
9379: LIST
9380: PPUSH
9381: CALL_OW 69
9385: ST_TO_ADDR
// if EnginerList > 0 then
9386: LD_VAR 0 1
9390: PUSH
9391: LD_INT 0
9393: GREATER
9394: IFFALSE 9582
// begin for i = 1 to EnginerList do
9396: LD_ADDR_VAR 0 3
9400: PUSH
9401: DOUBLE
9402: LD_INT 1
9404: DEC
9405: ST_TO_ADDR
9406: LD_VAR 0 1
9410: PUSH
9411: FOR_TO
9412: IFFALSE 9580
// begin Build = IsInUnit ( HealerList [ 1 ] ) ;
9414: LD_ADDR_VAR 0 4
9418: PUSH
9419: LD_VAR 0 2
9423: PUSH
9424: LD_INT 1
9426: ARRAY
9427: PPUSH
9428: CALL_OW 310
9432: ST_TO_ADDR
// ComExitBuilding ( HealerList [ 1 ] ) ;
9433: LD_VAR 0 2
9437: PUSH
9438: LD_INT 1
9440: ARRAY
9441: PPUSH
9442: CALL_OW 122
// if IsInUnit ( EnginerList [ i ] ) then
9446: LD_VAR 0 1
9450: PUSH
9451: LD_VAR 0 3
9455: ARRAY
9456: PPUSH
9457: CALL_OW 310
9461: IFFALSE 9478
// ComExitBuilding ( EnginerList [ i ] ) ;
9463: LD_VAR 0 1
9467: PUSH
9468: LD_VAR 0 3
9472: ARRAY
9473: PPUSH
9474: CALL_OW 122
// wait ( 0 0$1 ) ;
9478: LD_INT 35
9480: PPUSH
9481: CALL_OW 67
// ComMoveToArea ( EnginerList [ i ] , ArHealZone ) ;
9485: LD_VAR 0 1
9489: PUSH
9490: LD_VAR 0 3
9494: ARRAY
9495: PPUSH
9496: LD_INT 21
9498: PPUSH
9499: CALL_OW 113
// if not IsInUnit ( EnginerList [ i ] ) then
9503: LD_VAR 0 1
9507: PUSH
9508: LD_VAR 0 3
9512: ARRAY
9513: PPUSH
9514: CALL_OW 310
9518: NOT
9519: IFFALSE 9539
// ComMoveToArea ( EnginerList [ i ] , ArHealZone ) ;
9521: LD_VAR 0 1
9525: PUSH
9526: LD_VAR 0 3
9530: ARRAY
9531: PPUSH
9532: LD_INT 21
9534: PPUSH
9535: CALL_OW 113
// if GetLives ( EnginerList [ i ] ) = 1000 then
9539: LD_VAR 0 1
9543: PUSH
9544: LD_VAR 0 3
9548: ARRAY
9549: PPUSH
9550: CALL_OW 256
9554: PUSH
9555: LD_INT 1000
9557: EQUAL
9558: IFFALSE 9578
// ComEnterUnit ( HealerList [ 1 ] , Build ) ;
9560: LD_VAR 0 2
9564: PUSH
9565: LD_INT 1
9567: ARRAY
9568: PPUSH
9569: LD_VAR 0 4
9573: PPUSH
9574: CALL_OW 120
// end ;
9578: GO 9411
9580: POP
9581: POP
// end ; end ;
9582: PPOPN 4
9584: END
// every 0 0$01 do
9585: GO 9587
9587: DISABLE
// begin enable ;
9588: ENABLE
// if arcont_d = 5 then
9589: LD_EXP 26
9593: PUSH
9594: LD_INT 5
9596: EQUAL
9597: IFFALSE 9619
// begin arcont_d := 0 ;
9599: LD_ADDR_EXP 26
9603: PUSH
9604: LD_INT 0
9606: ST_TO_ADDR
// ArProduceNewVehicle ;
9607: CALL 9670 0 0
// arcont_d := 0 ;
9611: LD_ADDR_EXP 26
9615: PUSH
9616: LD_INT 0
9618: ST_TO_ADDR
// end ; end ;
9619: END
// export arcont_v , arcont_d , argroup ; every 0 0$0.1 do
9620: GO 9622
9622: DISABLE
// begin arcont_v := 0 ;
9623: LD_ADDR_EXP 25
9627: PUSH
9628: LD_INT 0
9630: ST_TO_ADDR
// arcont_d := 0 ;
9631: LD_ADDR_EXP 26
9635: PUSH
9636: LD_INT 0
9638: ST_TO_ADDR
// argroup := [ ] ;
9639: LD_ADDR_EXP 27
9643: PUSH
9644: EMPTY
9645: ST_TO_ADDR
// end ;
9646: END
// export function Arsetneworders ; begin
9647: LD_INT 0
9649: PPUSH
// ComAgressiveMove ( Argroup , 81 , 122 ) ;
9650: LD_EXP 27
9654: PPUSH
9655: LD_INT 81
9657: PPUSH
9658: LD_INT 122
9660: PPUSH
9661: CALL_OW 114
// end ;
9665: LD_VAR 0 1
9669: RET
// export function ArProduceNewVehicle ; begin
9670: LD_INT 0
9672: PPUSH
// if Difficulty = 1 then
9673: LD_OWVAR 67
9677: PUSH
9678: LD_INT 1
9680: EQUAL
9681: IFFALSE 9778
// begin Addcomconstruct ( arfab2 , 13 , engine_combustion , 2 , 25 ) ;
9683: LD_INT 702
9685: PPUSH
9686: LD_INT 13
9688: PPUSH
9689: LD_INT 1
9691: PPUSH
9692: LD_INT 2
9694: PPUSH
9695: LD_INT 25
9697: PPUSH
9698: CALL_OW 185
// Addcomconstruct ( arfab2 , 13 , engine_combustion , 2 , 25 ) ;
9702: LD_INT 702
9704: PPUSH
9705: LD_INT 13
9707: PPUSH
9708: LD_INT 1
9710: PPUSH
9711: LD_INT 2
9713: PPUSH
9714: LD_INT 25
9716: PPUSH
9717: CALL_OW 185
// Addcomconstruct ( arfab2 , 13 , engine_combustion , 2 , 25 ) ;
9721: LD_INT 702
9723: PPUSH
9724: LD_INT 13
9726: PPUSH
9727: LD_INT 1
9729: PPUSH
9730: LD_INT 2
9732: PPUSH
9733: LD_INT 25
9735: PPUSH
9736: CALL_OW 185
// Addcomconstruct ( arfab2 , 13 , engine_combustion , 2 , 26 ) ;
9740: LD_INT 702
9742: PPUSH
9743: LD_INT 13
9745: PPUSH
9746: LD_INT 1
9748: PPUSH
9749: LD_INT 2
9751: PPUSH
9752: LD_INT 26
9754: PPUSH
9755: CALL_OW 185
// Addcomconstruct ( arfab2 , 13 , engine_combustion , 2 , 26 ) ;
9759: LD_INT 702
9761: PPUSH
9762: LD_INT 13
9764: PPUSH
9765: LD_INT 1
9767: PPUSH
9768: LD_INT 2
9770: PPUSH
9771: LD_INT 26
9773: PPUSH
9774: CALL_OW 185
// end ; if Difficulty = 2 then
9778: LD_OWVAR 67
9782: PUSH
9783: LD_INT 2
9785: EQUAL
9786: IFFALSE 9883
// begin Addcomconstruct ( arfab2 , 13 , engine_combustion , 2 , 26 ) ;
9788: LD_INT 702
9790: PPUSH
9791: LD_INT 13
9793: PPUSH
9794: LD_INT 1
9796: PPUSH
9797: LD_INT 2
9799: PPUSH
9800: LD_INT 26
9802: PPUSH
9803: CALL_OW 185
// Addcomconstruct ( arfab2 , 13 , engine_combustion , 2 , 26 ) ;
9807: LD_INT 702
9809: PPUSH
9810: LD_INT 13
9812: PPUSH
9813: LD_INT 1
9815: PPUSH
9816: LD_INT 2
9818: PPUSH
9819: LD_INT 26
9821: PPUSH
9822: CALL_OW 185
// Addcomconstruct ( arfab2 , 13 , engine_combustion , 2 , 25 ) ;
9826: LD_INT 702
9828: PPUSH
9829: LD_INT 13
9831: PPUSH
9832: LD_INT 1
9834: PPUSH
9835: LD_INT 2
9837: PPUSH
9838: LD_INT 25
9840: PPUSH
9841: CALL_OW 185
// Addcomconstruct ( arfab2 , 13 , engine_combustion , 2 , 27 ) ;
9845: LD_INT 702
9847: PPUSH
9848: LD_INT 13
9850: PPUSH
9851: LD_INT 1
9853: PPUSH
9854: LD_INT 2
9856: PPUSH
9857: LD_INT 27
9859: PPUSH
9860: CALL_OW 185
// Addcomconstruct ( arfab2 , 13 , engine_combustion , 2 , 27 ) ;
9864: LD_INT 702
9866: PPUSH
9867: LD_INT 13
9869: PPUSH
9870: LD_INT 1
9872: PPUSH
9873: LD_INT 2
9875: PPUSH
9876: LD_INT 27
9878: PPUSH
9879: CALL_OW 185
// end ; if Difficulty = 3 then
9883: LD_OWVAR 67
9887: PUSH
9888: LD_INT 3
9890: EQUAL
9891: IFFALSE 9988
// begin Addcomconstruct ( arfab2 , 13 , engine_combustion , 2 , 27 ) ;
9893: LD_INT 702
9895: PPUSH
9896: LD_INT 13
9898: PPUSH
9899: LD_INT 1
9901: PPUSH
9902: LD_INT 2
9904: PPUSH
9905: LD_INT 27
9907: PPUSH
9908: CALL_OW 185
// Addcomconstruct ( arfab2 , 13 , engine_combustion , 2 , 27 ) ;
9912: LD_INT 702
9914: PPUSH
9915: LD_INT 13
9917: PPUSH
9918: LD_INT 1
9920: PPUSH
9921: LD_INT 2
9923: PPUSH
9924: LD_INT 27
9926: PPUSH
9927: CALL_OW 185
// Addcomconstruct ( arfab2 , 13 , engine_combustion , 2 , 26 ) ;
9931: LD_INT 702
9933: PPUSH
9934: LD_INT 13
9936: PPUSH
9937: LD_INT 1
9939: PPUSH
9940: LD_INT 2
9942: PPUSH
9943: LD_INT 26
9945: PPUSH
9946: CALL_OW 185
// Addcomconstruct ( arfab2 , 13 , engine_combustion , 2 , 25 ) ;
9950: LD_INT 702
9952: PPUSH
9953: LD_INT 13
9955: PPUSH
9956: LD_INT 1
9958: PPUSH
9959: LD_INT 2
9961: PPUSH
9962: LD_INT 25
9964: PPUSH
9965: CALL_OW 185
// Addcomconstruct ( arfab2 , 13 , engine_combustion , 2 , 28 ) ;
9969: LD_INT 702
9971: PPUSH
9972: LD_INT 13
9974: PPUSH
9975: LD_INT 1
9977: PPUSH
9978: LD_INT 2
9980: PPUSH
9981: LD_INT 28
9983: PPUSH
9984: CALL_OW 185
// end ; end ;
9988: LD_VAR 0 1
9992: RET
// export ArCargo , ArCargoD ; every 2 2$0 trigger GetLives ( ArDepo2 ) > 250 and FilterAllUnits ( [ [ f_side , 2 ] , [ f_weapon , 32 ] ] ) = 0 do
9993: LD_INT 733
9995: PPUSH
9996: CALL_OW 256
10000: PUSH
10001: LD_INT 250
10003: GREATER
10004: PUSH
10005: LD_INT 22
10007: PUSH
10008: LD_INT 2
10010: PUSH
10011: EMPTY
10012: LIST
10013: LIST
10014: PUSH
10015: LD_INT 34
10017: PUSH
10018: LD_INT 32
10020: PUSH
10021: EMPTY
10022: LIST
10023: LIST
10024: PUSH
10025: EMPTY
10026: LIST
10027: LIST
10028: PPUSH
10029: CALL_OW 69
10033: PUSH
10034: LD_INT 0
10036: EQUAL
10037: AND
10038: IFFALSE 10270
10040: GO 10042
10042: DISABLE
// begin enable ;
10043: ENABLE
// uc_side = 2 ;
10044: LD_ADDR_OWVAR 20
10048: PUSH
10049: LD_INT 2
10051: ST_TO_ADDR
// uc_nation = 2 ;
10052: LD_ADDR_OWVAR 21
10056: PUSH
10057: LD_INT 2
10059: ST_TO_ADDR
// vc_chassis = 13 ;
10060: LD_ADDR_OWVAR 37
10064: PUSH
10065: LD_INT 13
10067: ST_TO_ADDR
// vc_engine = 1 ;
10068: LD_ADDR_OWVAR 39
10072: PUSH
10073: LD_INT 1
10075: ST_TO_ADDR
// vc_control = control_manual ;
10076: LD_ADDR_OWVAR 38
10080: PUSH
10081: LD_INT 1
10083: ST_TO_ADDR
// vc_weapon = 32 ;
10084: LD_ADDR_OWVAR 40
10088: PUSH
10089: LD_INT 32
10091: ST_TO_ADDR
// ArCargo = CreateVehicle ;
10092: LD_ADDR_EXP 28
10096: PUSH
10097: CALL_OW 45
10101: ST_TO_ADDR
// PlaceUnitXY ( ArCargo , 37 , 14 , false ) ;
10102: LD_EXP 28
10106: PPUSH
10107: LD_INT 37
10109: PPUSH
10110: LD_INT 14
10112: PPUSH
10113: LD_INT 0
10115: PPUSH
10116: CALL_OW 48
// hc_gallery =  ;
10120: LD_ADDR_OWVAR 33
10124: PUSH
10125: LD_STRING 
10127: ST_TO_ADDR
// hc_name =  ;
10128: LD_ADDR_OWVAR 26
10132: PUSH
10133: LD_STRING 
10135: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
10136: LD_ADDR_OWVAR 29
10140: PUSH
10141: LD_INT 9
10143: PPUSH
10144: LD_INT 11
10146: PPUSH
10147: CALL_OW 12
10151: PUSH
10152: LD_INT 10
10154: PPUSH
10155: LD_INT 12
10157: PPUSH
10158: CALL_OW 12
10162: PUSH
10163: EMPTY
10164: LIST
10165: LIST
10166: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 7 ) , Rand ( 0 , 7 ) , Rand ( 5 , 7 ) , Rand ( 0 , 7 ) ] ;
10167: LD_ADDR_OWVAR 31
10171: PUSH
10172: LD_INT 0
10174: PPUSH
10175: LD_INT 7
10177: PPUSH
10178: CALL_OW 12
10182: PUSH
10183: LD_INT 0
10185: PPUSH
10186: LD_INT 7
10188: PPUSH
10189: CALL_OW 12
10193: PUSH
10194: LD_INT 5
10196: PPUSH
10197: LD_INT 7
10199: PPUSH
10200: CALL_OW 12
10204: PUSH
10205: LD_INT 0
10207: PPUSH
10208: LD_INT 7
10210: PPUSH
10211: CALL_OW 12
10215: PUSH
10216: EMPTY
10217: LIST
10218: LIST
10219: LIST
10220: LIST
10221: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
10222: LD_ADDR_OWVAR 27
10226: PUSH
10227: LD_INT 1
10229: PPUSH
10230: LD_INT 2
10232: PPUSH
10233: CALL_OW 12
10237: ST_TO_ADDR
// hc_class = 3 ;
10238: LD_ADDR_OWVAR 28
10242: PUSH
10243: LD_INT 3
10245: ST_TO_ADDR
// ArCargoD = CreateHuman ;
10246: LD_ADDR_EXP 29
10250: PUSH
10251: CALL_OW 44
10255: ST_TO_ADDR
// PlaceHumanInUnit ( ArCargoD , ArCargo ) ;
10256: LD_EXP 29
10260: PPUSH
10261: LD_EXP 28
10265: PPUSH
10266: CALL_OW 52
// end ;
10270: END
// every 0 0$3 trigger GetLives ( ArDepo2 ) > 250 and FilterAllUnits ( [ [ f_side , 2 ] , [ f_weapon , 32 ] ] ) >= 1 do var skr , c , cargolist ;
10271: LD_INT 733
10273: PPUSH
10274: CALL_OW 256
10278: PUSH
10279: LD_INT 250
10281: GREATER
10282: PUSH
10283: LD_INT 22
10285: PUSH
10286: LD_INT 2
10288: PUSH
10289: EMPTY
10290: LIST
10291: LIST
10292: PUSH
10293: LD_INT 34
10295: PUSH
10296: LD_INT 32
10298: PUSH
10299: EMPTY
10300: LIST
10301: LIST
10302: PUSH
10303: EMPTY
10304: LIST
10305: LIST
10306: PPUSH
10307: CALL_OW 69
10311: PUSH
10312: LD_INT 1
10314: GREATEREQUAL
10315: AND
10316: IFFALSE 10487
10318: GO 10320
10320: DISABLE
10321: LD_INT 0
10323: PPUSH
10324: PPUSH
10325: PPUSH
// begin CargoList = FilterAllUnits ( [ [ f_side , 2 ] , [ f_weapon , 32 ] ] ) ;
10326: LD_ADDR_VAR 0 3
10330: PUSH
10331: LD_INT 22
10333: PUSH
10334: LD_INT 2
10336: PUSH
10337: EMPTY
10338: LIST
10339: LIST
10340: PUSH
10341: LD_INT 34
10343: PUSH
10344: LD_INT 32
10346: PUSH
10347: EMPTY
10348: LIST
10349: LIST
10350: PUSH
10351: EMPTY
10352: LIST
10353: LIST
10354: PPUSH
10355: CALL_OW 69
10359: ST_TO_ADDR
// enable ;
10360: ENABLE
// skr = GetListOfCratesInArea ( Ar_Crates ) ;
10361: LD_ADDR_VAR 0 1
10365: PUSH
10366: LD_INT 23
10368: PPUSH
10369: CALL_OW 435
10373: ST_TO_ADDR
// c = 1 ;
10374: LD_ADDR_VAR 0 2
10378: PUSH
10379: LD_INT 1
10381: ST_TO_ADDR
// while c < skr do
10382: LD_VAR 0 2
10386: PUSH
10387: LD_VAR 0 1
10391: LESS
10392: IFFALSE 10445
// begin AddComCollect ( CargoList , skr [ c ] , skr [ c + 1 ] ) ;
10394: LD_VAR 0 3
10398: PPUSH
10399: LD_VAR 0 1
10403: PUSH
10404: LD_VAR 0 2
10408: ARRAY
10409: PPUSH
10410: LD_VAR 0 1
10414: PUSH
10415: LD_VAR 0 2
10419: PUSH
10420: LD_INT 1
10422: PLUS
10423: ARRAY
10424: PPUSH
10425: CALL_OW 177
// c = c + 2 ;
10429: LD_ADDR_VAR 0 2
10433: PUSH
10434: LD_VAR 0 2
10438: PUSH
10439: LD_INT 2
10441: PLUS
10442: ST_TO_ADDR
// end ;
10443: GO 10382
// if GetFuel ( CargoList ) < 100 then
10445: LD_VAR 0 3
10449: PPUSH
10450: CALL_OW 261
10454: PUSH
10455: LD_INT 100
10457: LESS
10458: IFFALSE 10487
// begin if not See ( 8 , CargoList ) then
10460: LD_INT 8
10462: PPUSH
10463: LD_VAR 0 3
10467: PPUSH
10468: CALL_OW 292
10472: NOT
10473: IFFALSE 10487
// SetFuel ( CargoList , 1000 ) ;
10475: LD_VAR 0 3
10479: PPUSH
10480: LD_INT 1000
10482: PPUSH
10483: CALL_OW 240
// end ; end ;
10487: PPOPN 3
10489: END
// every 0 0$01 do var exit_list1 , exit_list2 , exit_list3 , un ;
10490: GO 10492
10492: DISABLE
10493: LD_INT 0
10495: PPUSH
10496: PPUSH
10497: PPUSH
10498: PPUSH
// begin enable ;
10499: ENABLE
// exit_list1 = FilterUnitsInArea ( Obrona1 , [ [ f_side , 2 ] , [ f_not , [ f_lives , 1000 ] , [ f_type , unit_human ] , [ f_class , 1 ] ] ] ) ;
10500: LD_ADDR_VAR 0 1
10504: PUSH
10505: LD_INT 17
10507: PPUSH
10508: LD_INT 22
10510: PUSH
10511: LD_INT 2
10513: PUSH
10514: EMPTY
10515: LIST
10516: LIST
10517: PUSH
10518: LD_INT 3
10520: PUSH
10521: LD_INT 24
10523: PUSH
10524: LD_INT 1000
10526: PUSH
10527: EMPTY
10528: LIST
10529: LIST
10530: PUSH
10531: LD_INT 21
10533: PUSH
10534: LD_INT 1
10536: PUSH
10537: EMPTY
10538: LIST
10539: LIST
10540: PUSH
10541: LD_INT 25
10543: PUSH
10544: LD_INT 1
10546: PUSH
10547: EMPTY
10548: LIST
10549: LIST
10550: PUSH
10551: EMPTY
10552: LIST
10553: LIST
10554: LIST
10555: LIST
10556: PUSH
10557: EMPTY
10558: LIST
10559: LIST
10560: PPUSH
10561: CALL_OW 70
10565: ST_TO_ADDR
// exit_list2 = FilterUnitsInArea ( Obrona2 , [ [ f_side , 2 ] , [ f_not , [ f_lives , 1000 ] , [ f_type , unit_human ] , [ f_class , 1 ] ] ] ) ;
10566: LD_ADDR_VAR 0 2
10570: PUSH
10571: LD_INT 19
10573: PPUSH
10574: LD_INT 22
10576: PUSH
10577: LD_INT 2
10579: PUSH
10580: EMPTY
10581: LIST
10582: LIST
10583: PUSH
10584: LD_INT 3
10586: PUSH
10587: LD_INT 24
10589: PUSH
10590: LD_INT 1000
10592: PUSH
10593: EMPTY
10594: LIST
10595: LIST
10596: PUSH
10597: LD_INT 21
10599: PUSH
10600: LD_INT 1
10602: PUSH
10603: EMPTY
10604: LIST
10605: LIST
10606: PUSH
10607: LD_INT 25
10609: PUSH
10610: LD_INT 1
10612: PUSH
10613: EMPTY
10614: LIST
10615: LIST
10616: PUSH
10617: EMPTY
10618: LIST
10619: LIST
10620: LIST
10621: LIST
10622: PUSH
10623: EMPTY
10624: LIST
10625: LIST
10626: PPUSH
10627: CALL_OW 70
10631: ST_TO_ADDR
// exit_list3 = FilterUnitsInArea ( Obrona3 , [ [ f_side , 2 ] , [ f_not , [ f_lives , 1000 ] , [ f_type , unit_human ] , [ f_class , 1 ] ] ] ) ;
10632: LD_ADDR_VAR 0 3
10636: PUSH
10637: LD_INT 20
10639: PPUSH
10640: LD_INT 22
10642: PUSH
10643: LD_INT 2
10645: PUSH
10646: EMPTY
10647: LIST
10648: LIST
10649: PUSH
10650: LD_INT 3
10652: PUSH
10653: LD_INT 24
10655: PUSH
10656: LD_INT 1000
10658: PUSH
10659: EMPTY
10660: LIST
10661: LIST
10662: PUSH
10663: LD_INT 21
10665: PUSH
10666: LD_INT 1
10668: PUSH
10669: EMPTY
10670: LIST
10671: LIST
10672: PUSH
10673: LD_INT 25
10675: PUSH
10676: LD_INT 1
10678: PUSH
10679: EMPTY
10680: LIST
10681: LIST
10682: PUSH
10683: EMPTY
10684: LIST
10685: LIST
10686: LIST
10687: LIST
10688: PUSH
10689: EMPTY
10690: LIST
10691: LIST
10692: PPUSH
10693: CALL_OW 70
10697: ST_TO_ADDR
// for un in exit_list1 do
10698: LD_ADDR_VAR 0 4
10702: PUSH
10703: LD_VAR 0 1
10707: PUSH
10708: FOR_IN
10709: IFFALSE 10725
// begin ComEnterUnit ( un , Arbar1 ) ;
10711: LD_VAR 0 4
10715: PPUSH
10716: LD_INT 658
10718: PPUSH
10719: CALL_OW 120
// end ;
10723: GO 10708
10725: POP
10726: POP
// for un in exit_list2 do
10727: LD_ADDR_VAR 0 4
10731: PUSH
10732: LD_VAR 0 2
10736: PUSH
10737: FOR_IN
10738: IFFALSE 10754
// begin ComEnterUnit ( un , Arbar2 ) ;
10740: LD_VAR 0 4
10744: PPUSH
10745: LD_INT 794
10747: PPUSH
10748: CALL_OW 120
// end ;
10752: GO 10737
10754: POP
10755: POP
// for un in exit_list3 do
10756: LD_ADDR_VAR 0 4
10760: PUSH
10761: LD_VAR 0 3
10765: PUSH
10766: FOR_IN
10767: IFFALSE 10783
// begin ComEnterUnit ( un , Arbar3 ) ;
10769: LD_VAR 0 4
10773: PPUSH
10774: LD_INT 855
10776: PPUSH
10777: CALL_OW 120
// end ;
10781: GO 10766
10783: POP
10784: POP
// end ;
10785: PPOPN 4
10787: END
// every 0 0$01 do var un , EnginerList , buildings , depots , i ;
10788: GO 10790
10790: DISABLE
10791: LD_INT 0
10793: PPUSH
10794: PPUSH
10795: PPUSH
10796: PPUSH
10797: PPUSH
// begin enable ;
10798: ENABLE
// EnginerList := FilterAllUnits ( [ [ [ f_side , 3 ] , [ f_class , 2 ] , [ f_lives , 1000 ] ] ] ) ;
10799: LD_ADDR_VAR 0 2
10803: PUSH
10804: LD_INT 22
10806: PUSH
10807: LD_INT 3
10809: PUSH
10810: EMPTY
10811: LIST
10812: LIST
10813: PUSH
10814: LD_INT 25
10816: PUSH
10817: LD_INT 2
10819: PUSH
10820: EMPTY
10821: LIST
10822: LIST
10823: PUSH
10824: LD_INT 24
10826: PUSH
10827: LD_INT 1000
10829: PUSH
10830: EMPTY
10831: LIST
10832: LIST
10833: PUSH
10834: EMPTY
10835: LIST
10836: LIST
10837: LIST
10838: PUSH
10839: EMPTY
10840: LIST
10841: PPUSH
10842: CALL_OW 69
10846: ST_TO_ADDR
// buildings := FilterAllUnits ( [ [ [ f_side , 3 ] , [ f_type , unit_building ] , [ f_not , [ f_lives , 1000 ] ] ] ] ) ;
10847: LD_ADDR_VAR 0 3
10851: PUSH
10852: LD_INT 22
10854: PUSH
10855: LD_INT 3
10857: PUSH
10858: EMPTY
10859: LIST
10860: LIST
10861: PUSH
10862: LD_INT 21
10864: PUSH
10865: LD_INT 3
10867: PUSH
10868: EMPTY
10869: LIST
10870: LIST
10871: PUSH
10872: LD_INT 3
10874: PUSH
10875: LD_INT 24
10877: PUSH
10878: LD_INT 1000
10880: PUSH
10881: EMPTY
10882: LIST
10883: LIST
10884: PUSH
10885: EMPTY
10886: LIST
10887: LIST
10888: PUSH
10889: EMPTY
10890: LIST
10891: LIST
10892: LIST
10893: PUSH
10894: EMPTY
10895: LIST
10896: PPUSH
10897: CALL_OW 69
10901: ST_TO_ADDR
// if buildings > 0 then
10902: LD_VAR 0 3
10906: PUSH
10907: LD_INT 0
10909: GREATER
10910: IFFALSE 10992
// begin for i = 1 to EnginerList do
10912: LD_ADDR_VAR 0 5
10916: PUSH
10917: DOUBLE
10918: LD_INT 1
10920: DEC
10921: ST_TO_ADDR
10922: LD_VAR 0 2
10926: PUSH
10927: FOR_TO
10928: IFFALSE 10990
// begin if IsInUnit ( EnginerList [ i ] ) then
10930: LD_VAR 0 2
10934: PUSH
10935: LD_VAR 0 5
10939: ARRAY
10940: PPUSH
10941: CALL_OW 310
10945: IFFALSE 10964
// ComExitBuilding ( EnginerList [ i ] ) else
10947: LD_VAR 0 2
10951: PUSH
10952: LD_VAR 0 5
10956: ARRAY
10957: PPUSH
10958: CALL_OW 122
10962: GO 10988
// ComRepairBuilding ( EnginerList [ i ] , buildings [ 1 ] ) ;
10964: LD_VAR 0 2
10968: PUSH
10969: LD_VAR 0 5
10973: ARRAY
10974: PPUSH
10975: LD_VAR 0 3
10979: PUSH
10980: LD_INT 1
10982: ARRAY
10983: PPUSH
10984: CALL_OW 130
// end ;
10988: GO 10927
10990: POP
10991: POP
// end ; if buildings = 0 then
10992: LD_VAR 0 3
10996: PUSH
10997: LD_INT 0
10999: EQUAL
11000: IFFALSE 11078
// begin for i = 1 to EnginerList do
11002: LD_ADDR_VAR 0 5
11006: PUSH
11007: DOUBLE
11008: LD_INT 1
11010: DEC
11011: ST_TO_ADDR
11012: LD_VAR 0 2
11016: PUSH
11017: FOR_TO
11018: IFFALSE 11076
// begin if not HasTask ( EnginerList [ i ] ) and not IsInUnit ( EnginerList [ i ] ) then
11020: LD_VAR 0 2
11024: PUSH
11025: LD_VAR 0 5
11029: ARRAY
11030: PPUSH
11031: CALL_OW 314
11035: NOT
11036: PUSH
11037: LD_VAR 0 2
11041: PUSH
11042: LD_VAR 0 5
11046: ARRAY
11047: PPUSH
11048: CALL_OW 310
11052: NOT
11053: AND
11054: IFFALSE 11074
// ComEnterUnit ( EnginerList [ i ] , rudepo1 ) ;
11056: LD_VAR 0 2
11060: PUSH
11061: LD_VAR 0 5
11065: ARRAY
11066: PPUSH
11067: LD_INT 914
11069: PPUSH
11070: CALL_OW 120
// end ;
11074: GO 11017
11076: POP
11077: POP
// end ; end ;
11078: PPOPN 5
11080: END
// every 0 0$1 do var EnginerList , HealerList , i ;
11081: GO 11083
11083: DISABLE
11084: LD_INT 0
11086: PPUSH
11087: PPUSH
11088: PPUSH
// begin enable ;
11089: ENABLE
// EnginerList := FilterAllUnits ( [ [ f_side , 3 ] , [ f_class , 2 ] , [ f_not , [ f_lives , 820 ] ] ] ) ;
11090: LD_ADDR_VAR 0 1
11094: PUSH
11095: LD_INT 22
11097: PUSH
11098: LD_INT 3
11100: PUSH
11101: EMPTY
11102: LIST
11103: LIST
11104: PUSH
11105: LD_INT 25
11107: PUSH
11108: LD_INT 2
11110: PUSH
11111: EMPTY
11112: LIST
11113: LIST
11114: PUSH
11115: LD_INT 3
11117: PUSH
11118: LD_INT 24
11120: PUSH
11121: LD_INT 820
11123: PUSH
11124: EMPTY
11125: LIST
11126: LIST
11127: PUSH
11128: EMPTY
11129: LIST
11130: LIST
11131: PUSH
11132: EMPTY
11133: LIST
11134: LIST
11135: LIST
11136: PPUSH
11137: CALL_OW 69
11141: ST_TO_ADDR
// HealerList := FilterAllUnits ( [ [ f_side , 3 ] , [ f_class , 4 ] ] ) ;
11142: LD_ADDR_VAR 0 2
11146: PUSH
11147: LD_INT 22
11149: PUSH
11150: LD_INT 3
11152: PUSH
11153: EMPTY
11154: LIST
11155: LIST
11156: PUSH
11157: LD_INT 25
11159: PUSH
11160: LD_INT 4
11162: PUSH
11163: EMPTY
11164: LIST
11165: LIST
11166: PUSH
11167: EMPTY
11168: LIST
11169: LIST
11170: PPUSH
11171: CALL_OW 69
11175: ST_TO_ADDR
// if EnginerList > 0 then
11176: LD_VAR 0 1
11180: PUSH
11181: LD_INT 0
11183: GREATER
11184: IFFALSE 11351
// begin for i = 1 to EnginerList do
11186: LD_ADDR_VAR 0 3
11190: PUSH
11191: DOUBLE
11192: LD_INT 1
11194: DEC
11195: ST_TO_ADDR
11196: LD_VAR 0 1
11200: PUSH
11201: FOR_TO
11202: IFFALSE 11349
// begin ComExitBuilding ( HealerList [ 1 ] ) ;
11204: LD_VAR 0 2
11208: PUSH
11209: LD_INT 1
11211: ARRAY
11212: PPUSH
11213: CALL_OW 122
// if IsInUnit ( EnginerList [ i ] ) then
11217: LD_VAR 0 1
11221: PUSH
11222: LD_VAR 0 3
11226: ARRAY
11227: PPUSH
11228: CALL_OW 310
11232: IFFALSE 11249
// ComExitBuilding ( EnginerList [ i ] ) ;
11234: LD_VAR 0 1
11238: PUSH
11239: LD_VAR 0 3
11243: ARRAY
11244: PPUSH
11245: CALL_OW 122
// wait ( 0 0$1 ) ;
11249: LD_INT 35
11251: PPUSH
11252: CALL_OW 67
// ComMoveToArea ( EnginerList [ i ] , RuHealZone ) ;
11256: LD_VAR 0 1
11260: PUSH
11261: LD_VAR 0 3
11265: ARRAY
11266: PPUSH
11267: LD_INT 26
11269: PPUSH
11270: CALL_OW 113
// if not IsInUnit ( EnginerList [ i ] ) then
11274: LD_VAR 0 1
11278: PUSH
11279: LD_VAR 0 3
11283: ARRAY
11284: PPUSH
11285: CALL_OW 310
11289: NOT
11290: IFFALSE 11310
// ComMoveToArea ( EnginerList [ i ] , RuHealZone ) ;
11292: LD_VAR 0 1
11296: PUSH
11297: LD_VAR 0 3
11301: ARRAY
11302: PPUSH
11303: LD_INT 26
11305: PPUSH
11306: CALL_OW 113
// if GetLives ( EnginerList [ i ] ) = 1000 then
11310: LD_VAR 0 1
11314: PUSH
11315: LD_VAR 0 3
11319: ARRAY
11320: PPUSH
11321: CALL_OW 256
11325: PUSH
11326: LD_INT 1000
11328: EQUAL
11329: IFFALSE 11347
// ComEnterUnit ( HealerList [ 1 ] , rulab2 ) ;
11331: LD_VAR 0 2
11335: PUSH
11336: LD_INT 1
11338: ARRAY
11339: PPUSH
11340: LD_INT 923
11342: PPUSH
11343: CALL_OW 120
// end ;
11347: GO 11201
11349: POP
11350: POP
// end ; end ;
11351: PPOPN 3
11353: END
// every 0 0$01 do var exit_list1 , exit_list2 , exit_list3 , un ;
11354: GO 11356
11356: DISABLE
11357: LD_INT 0
11359: PPUSH
11360: PPUSH
11361: PPUSH
11362: PPUSH
// begin enable ;
11363: ENABLE
// exit_list1 = FilterUnitsInArea ( Obrona4 , [ [ f_side , 3 ] , [ f_not , [ f_lives , 1000 ] , [ f_type , unit_human ] , [ f_class , 1 ] ] ] ) ;
11364: LD_ADDR_VAR 0 1
11368: PUSH
11369: LD_INT 24
11371: PPUSH
11372: LD_INT 22
11374: PUSH
11375: LD_INT 3
11377: PUSH
11378: EMPTY
11379: LIST
11380: LIST
11381: PUSH
11382: LD_INT 3
11384: PUSH
11385: LD_INT 24
11387: PUSH
11388: LD_INT 1000
11390: PUSH
11391: EMPTY
11392: LIST
11393: LIST
11394: PUSH
11395: LD_INT 21
11397: PUSH
11398: LD_INT 1
11400: PUSH
11401: EMPTY
11402: LIST
11403: LIST
11404: PUSH
11405: LD_INT 25
11407: PUSH
11408: LD_INT 1
11410: PUSH
11411: EMPTY
11412: LIST
11413: LIST
11414: PUSH
11415: EMPTY
11416: LIST
11417: LIST
11418: LIST
11419: LIST
11420: PUSH
11421: EMPTY
11422: LIST
11423: LIST
11424: PPUSH
11425: CALL_OW 70
11429: ST_TO_ADDR
// exit_list2 = FilterUnitsInArea ( Obrona5 , [ [ f_side , 3 ] , [ f_not , [ f_lives , 1000 ] , [ f_type , unit_human ] , [ f_class , 1 ] ] ] ) ;
11430: LD_ADDR_VAR 0 2
11434: PUSH
11435: LD_INT 25
11437: PPUSH
11438: LD_INT 22
11440: PUSH
11441: LD_INT 3
11443: PUSH
11444: EMPTY
11445: LIST
11446: LIST
11447: PUSH
11448: LD_INT 3
11450: PUSH
11451: LD_INT 24
11453: PUSH
11454: LD_INT 1000
11456: PUSH
11457: EMPTY
11458: LIST
11459: LIST
11460: PUSH
11461: LD_INT 21
11463: PUSH
11464: LD_INT 1
11466: PUSH
11467: EMPTY
11468: LIST
11469: LIST
11470: PUSH
11471: LD_INT 25
11473: PUSH
11474: LD_INT 1
11476: PUSH
11477: EMPTY
11478: LIST
11479: LIST
11480: PUSH
11481: EMPTY
11482: LIST
11483: LIST
11484: LIST
11485: LIST
11486: PUSH
11487: EMPTY
11488: LIST
11489: LIST
11490: PPUSH
11491: CALL_OW 70
11495: ST_TO_ADDR
// for un in exit_list1 do
11496: LD_ADDR_VAR 0 4
11500: PUSH
11501: LD_VAR 0 1
11505: PUSH
11506: FOR_IN
11507: IFFALSE 11523
// begin ComEnterUnit ( un , rubar1 ) ;
11509: LD_VAR 0 4
11513: PPUSH
11514: LD_INT 941
11516: PPUSH
11517: CALL_OW 120
// end ;
11521: GO 11506
11523: POP
11524: POP
// for un in exit_list2 do
11525: LD_ADDR_VAR 0 4
11529: PUSH
11530: LD_VAR 0 2
11534: PUSH
11535: FOR_IN
11536: IFFALSE 11552
// begin ComEnterUnit ( un , rubar2 ) ;
11538: LD_VAR 0 4
11542: PPUSH
11543: LD_INT 936
11545: PPUSH
11546: CALL_OW 120
// end ;
11550: GO 11535
11552: POP
11553: POP
// end ;
11554: PPOPN 4
11556: END
// export function ResAllTechs ( side , lab ) ; var i , tech , cout ; begin
11557: LD_INT 0
11559: PPUSH
11560: PPUSH
11561: PPUSH
11562: PPUSH
// for i = 1 to 72 do
11563: LD_ADDR_VAR 0 4
11567: PUSH
11568: DOUBLE
11569: LD_INT 1
11571: DEC
11572: ST_TO_ADDR
11573: LD_INT 72
11575: PUSH
11576: FOR_TO
11577: IFFALSE 11615
// begin if GetTech ( i , side ) = state_enabled then
11579: LD_VAR 0 4
11583: PPUSH
11584: LD_VAR 0 1
11588: PPUSH
11589: CALL_OW 321
11593: PUSH
11594: LD_INT 1
11596: EQUAL
11597: IFFALSE 11613
// AddComResearch ( lab , i ) ;
11599: LD_VAR 0 2
11603: PPUSH
11604: LD_VAR 0 4
11608: PPUSH
11609: CALL_OW 184
// end ;
11613: GO 11576
11615: POP
11616: POP
// end ;
11617: LD_VAR 0 3
11621: RET
// every 0 0$01 do
11622: GO 11624
11624: DISABLE
// begin ResAllTechs ( 3 , rulab1 ) ;
11625: LD_INT 3
11627: PPUSH
11628: LD_INT 931
11630: PPUSH
11631: CALL 11557 0 2
// ResAllTechs ( 3 , rulab2 ) ;
11635: LD_INT 3
11637: PPUSH
11638: LD_INT 923
11640: PPUSH
11641: CALL 11557 0 2
// ResAllTechs ( 3 , rulab3 ) ;
11645: LD_INT 3
11647: PPUSH
11648: LD_INT 926
11650: PPUSH
11651: CALL 11557 0 2
// ResAllTechs ( 2 , arlab2 ) ;
11655: LD_INT 2
11657: PPUSH
11658: LD_INT 725
11660: PPUSH
11661: CALL 11557 0 2
// ResAllTechs ( 2 , arlab3 ) ;
11665: LD_INT 2
11667: PPUSH
11668: LD_INT 711
11670: PPUSH
11671: CALL 11557 0 2
// end ; end_of_file
11675: END
// on UnitDestroyed ( un ) do begin if un in argroup then
11676: LD_VAR 0 1
11680: PUSH
11681: LD_EXP 27
11685: IN
11686: IFFALSE 11702
// begin arcont_d := arcont_d + 1 ;
11688: LD_ADDR_EXP 26
11692: PUSH
11693: LD_EXP 26
11697: PUSH
11698: LD_INT 1
11700: PLUS
11701: ST_TO_ADDR
// end ; end ;
11702: PPOPN 1
11704: END
// export v_track , v_engine , v_control , v_weapon ; on VehicleConstructed ( un , fac ) do var i ;
11705: LD_INT 0
11707: PPUSH
// begin if fac = arfab2 then
11708: LD_VAR 0 2
11712: PUSH
11713: LD_INT 702
11715: EQUAL
11716: IFFALSE 11898
// if GetSide ( un ) = 2 then
11718: LD_VAR 0 1
11722: PPUSH
11723: CALL_OW 255
11727: PUSH
11728: LD_INT 2
11730: EQUAL
11731: IFFALSE 11898
// begin if un in FilterAllUnits ( [ [ f_side , 2 ] , [ f_type , unit_vehicle ] , [ f_control , control_remote ] ] ) then
11733: LD_VAR 0 1
11737: PUSH
11738: LD_INT 22
11740: PUSH
11741: LD_INT 2
11743: PUSH
11744: EMPTY
11745: LIST
11746: LIST
11747: PUSH
11748: LD_INT 21
11750: PUSH
11751: LD_INT 2
11753: PUSH
11754: EMPTY
11755: LIST
11756: LIST
11757: PUSH
11758: LD_INT 33
11760: PUSH
11761: LD_INT 2
11763: PUSH
11764: EMPTY
11765: LIST
11766: LIST
11767: PUSH
11768: EMPTY
11769: LIST
11770: LIST
11771: LIST
11772: PPUSH
11773: CALL_OW 69
11777: IN
11778: IFFALSE 11898
// begin ComLinkTo ( un , ArControler ) ;
11780: LD_VAR 0 1
11784: PPUSH
11785: LD_EXP 16
11789: PPUSH
11790: CALL_OW 135
// LinkVehicleToHuman ( un , ArControler ) ;
11794: LD_VAR 0 1
11798: PPUSH
11799: LD_EXP 16
11803: PPUSH
11804: CALL_OW 53
// arcont_v := arcont_v + 1 ;
11808: LD_ADDR_EXP 25
11812: PUSH
11813: LD_EXP 25
11817: PUSH
11818: LD_INT 1
11820: PLUS
11821: ST_TO_ADDR
// argroup := argroup ^ un ;
11822: LD_ADDR_EXP 27
11826: PUSH
11827: LD_EXP 27
11831: PUSH
11832: LD_VAR 0 1
11836: ADD
11837: ST_TO_ADDR
// v_track := GetChassis ( un ) ;
11838: LD_ADDR_EXP 30
11842: PUSH
11843: LD_VAR 0 1
11847: PPUSH
11848: CALL_OW 265
11852: ST_TO_ADDR
// v_engine := GetEngine ( un ) ;
11853: LD_ADDR_EXP 31
11857: PUSH
11858: LD_VAR 0 1
11862: PPUSH
11863: CALL_OW 262
11867: ST_TO_ADDR
// v_control := GetControl ( un ) ;
11868: LD_ADDR_EXP 32
11872: PUSH
11873: LD_VAR 0 1
11877: PPUSH
11878: CALL_OW 263
11882: ST_TO_ADDR
// v_weapon := GetWeapon ( un ) ;
11883: LD_ADDR_EXP 33
11887: PUSH
11888: LD_VAR 0 1
11892: PPUSH
11893: CALL_OW 264
11897: ST_TO_ADDR
// end ; end ; if arcont_v = 5 then
11898: LD_EXP 25
11902: PUSH
11903: LD_INT 5
11905: EQUAL
11906: IFFALSE 11928
// begin arcont_v = 0 ;
11908: LD_ADDR_EXP 25
11912: PUSH
11913: LD_INT 0
11915: ST_TO_ADDR
// ArSetNewOrders ;
11916: CALL 9647 0 0
// arcont_v = 0 ;
11920: LD_ADDR_EXP 25
11924: PUSH
11925: LD_INT 0
11927: ST_TO_ADDR
// end ; end ; end_of_file
11928: PPOPN 3
11930: END
// export Crates_Amount , Crates_Creating ; every 1 1$0 trigger GetSide ( ardepo1 ) = 8 do
11931: LD_INT 626
11933: PPUSH
11934: CALL_OW 255
11938: PUSH
11939: LD_INT 8
11941: EQUAL
11942: IFFALSE 12027
11944: GO 11946
11946: DISABLE
// begin crates_amount := GetResourceArea ( PlayerCrates , mat_cans ) ;
11947: LD_ADDR_EXP 34
11951: PUSH
11952: LD_INT 30
11954: PPUSH
11955: LD_INT 1
11957: PPUSH
11958: CALL_OW 287
11962: ST_TO_ADDR
// if crates_amount >= 100 then
11963: LD_EXP 34
11967: PUSH
11968: LD_INT 100
11970: GREATEREQUAL
11971: IFFALSE 11981
// crates_creating := false ;
11973: LD_ADDR_EXP 35
11977: PUSH
11978: LD_INT 0
11980: ST_TO_ADDR
// if crates_amount <= 30 then
11981: LD_EXP 34
11985: PUSH
11986: LD_INT 30
11988: LESSEQUAL
11989: IFFALSE 11999
// crates_creating := true ;
11991: LD_ADDR_EXP 35
11995: PUSH
11996: LD_INT 1
11998: ST_TO_ADDR
// if crates_creating then
11999: LD_EXP 35
12003: IFFALSE 12026
// CreateCratesArea ( Rand ( 1 , 5 ) , PlayerCrates , true ) ;
12005: LD_INT 1
12007: PPUSH
12008: LD_INT 5
12010: PPUSH
12011: CALL_OW 12
12015: PPUSH
12016: LD_INT 30
12018: PPUSH
12019: LD_INT 1
12021: PPUSH
12022: CALL_OW 55
// enable ;
12026: ENABLE
// end ;
12027: END
// every 1 1$0 trigger GetLives ( pac ) > 250 do
12028: LD_EXP 19
12032: PPUSH
12033: CALL_OW 256
12037: PUSH
12038: LD_INT 250
12040: GREATER
12041: IFFALSE 12068
12043: GO 12045
12045: DISABLE
// begin CreateCratesArea ( Rand ( 3 , 5 ) , Ar_crates , true ) ;
12046: LD_INT 3
12048: PPUSH
12049: LD_INT 5
12051: PPUSH
12052: CALL_OW 12
12056: PPUSH
12057: LD_INT 23
12059: PPUSH
12060: LD_INT 1
12062: PPUSH
12063: CALL_OW 55
// enable ;
12067: ENABLE
// end ; end_of_file
12068: END
// export apemans , tigers , birds ; export function PrepareNature ; var l , apeman , tiger , bird ; begin
12069: LD_INT 0
12071: PPUSH
12072: PPUSH
12073: PPUSH
12074: PPUSH
12075: PPUSH
// apemans := [ ] ;
12076: LD_ADDR_EXP 36
12080: PUSH
12081: EMPTY
12082: ST_TO_ADDR
// tigers := [ ] ;
12083: LD_ADDR_EXP 37
12087: PUSH
12088: EMPTY
12089: ST_TO_ADDR
// birds := [ ] ;
12090: LD_ADDR_EXP 38
12094: PUSH
12095: EMPTY
12096: ST_TO_ADDR
// uc_nation = nation_nature ;
12097: LD_ADDR_OWVAR 21
12101: PUSH
12102: LD_INT 0
12104: ST_TO_ADDR
// uc_side = 0 ;
12105: LD_ADDR_OWVAR 20
12109: PUSH
12110: LD_INT 0
12112: ST_TO_ADDR
// l = 0 ;
12113: LD_ADDR_VAR 0 2
12117: PUSH
12118: LD_INT 0
12120: ST_TO_ADDR
// repeat begin uc_direction = Rand ( 0 , 5 ) ;
12121: LD_ADDR_OWVAR 24
12125: PUSH
12126: LD_INT 0
12128: PPUSH
12129: LD_INT 5
12131: PPUSH
12132: CALL_OW 12
12136: ST_TO_ADDR
// hc_agressivity = Rand ( 0 , 25 ) ;
12137: LD_ADDR_OWVAR 35
12141: PUSH
12142: LD_INT 0
12144: PPUSH
12145: LD_INT 25
12147: PPUSH
12148: CALL_OW 12
12152: ST_TO_ADDR
// hc_gallery =  ;
12153: LD_ADDR_OWVAR 33
12157: PUSH
12158: LD_STRING 
12160: ST_TO_ADDR
// hc_class = class_apeman ;
12161: LD_ADDR_OWVAR 28
12165: PUSH
12166: LD_INT 12
12168: ST_TO_ADDR
// hc_attr = [ Rand ( 11 , 13 ) , Rand ( 10 , 11 ) ] ;
12169: LD_ADDR_OWVAR 29
12173: PUSH
12174: LD_INT 11
12176: PPUSH
12177: LD_INT 13
12179: PPUSH
12180: CALL_OW 12
12184: PUSH
12185: LD_INT 10
12187: PPUSH
12188: LD_INT 11
12190: PPUSH
12191: CALL_OW 12
12195: PUSH
12196: EMPTY
12197: LIST
12198: LIST
12199: ST_TO_ADDR
// hc_sex = sex_male ;
12200: LD_ADDR_OWVAR 27
12204: PUSH
12205: LD_INT 1
12207: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 2 ) , 0 , 0 , 0 ] ;
12208: LD_ADDR_OWVAR 31
12212: PUSH
12213: LD_INT 0
12215: PPUSH
12216: LD_INT 2
12218: PPUSH
12219: CALL_OW 12
12223: PUSH
12224: LD_INT 0
12226: PUSH
12227: LD_INT 0
12229: PUSH
12230: LD_INT 0
12232: PUSH
12233: EMPTY
12234: LIST
12235: LIST
12236: LIST
12237: LIST
12238: ST_TO_ADDR
// apeman = CreateHuman ;
12239: LD_ADDR_VAR 0 3
12243: PUSH
12244: CALL_OW 44
12248: ST_TO_ADDR
// PlaceUnitArea ( apeman , MapA , false ) ;
12249: LD_VAR 0 3
12253: PPUSH
12254: LD_INT 31
12256: PPUSH
12257: LD_INT 0
12259: PPUSH
12260: CALL_OW 49
// apemans := apemans ^ apeman ;
12264: LD_ADDR_EXP 36
12268: PUSH
12269: LD_EXP 36
12273: PUSH
12274: LD_VAR 0 3
12278: ADD
12279: ST_TO_ADDR
// l = l + 1 ;
12280: LD_ADDR_VAR 0 2
12284: PUSH
12285: LD_VAR 0 2
12289: PUSH
12290: LD_INT 1
12292: PLUS
12293: ST_TO_ADDR
// end until l = 6 ;
12294: LD_VAR 0 2
12298: PUSH
12299: LD_INT 6
12301: EQUAL
12302: IFFALSE 12121
// l = 0 ;
12304: LD_ADDR_VAR 0 2
12308: PUSH
12309: LD_INT 0
12311: ST_TO_ADDR
// repeat begin hc_agressivity = Rand ( 0 , 30 ) ;
12312: LD_ADDR_OWVAR 35
12316: PUSH
12317: LD_INT 0
12319: PPUSH
12320: LD_INT 30
12322: PPUSH
12323: CALL_OW 12
12327: ST_TO_ADDR
// hc_class = class_tiger ;
12328: LD_ADDR_OWVAR 28
12332: PUSH
12333: LD_INT 14
12335: ST_TO_ADDR
// hc_sex = sex_male ;
12336: LD_ADDR_OWVAR 27
12340: PUSH
12341: LD_INT 1
12343: ST_TO_ADDR
// hc_gallery = nature ;
12344: LD_ADDR_OWVAR 33
12348: PUSH
12349: LD_STRING nature
12351: ST_TO_ADDR
// hc_face_number = 3 ;
12352: LD_ADDR_OWVAR 34
12356: PUSH
12357: LD_INT 3
12359: ST_TO_ADDR
// tiger = CreateHuman ;
12360: LD_ADDR_VAR 0 4
12364: PUSH
12365: CALL_OW 44
12369: ST_TO_ADDR
// PlaceUnitArea ( tiger , MapA , false ) ;
12370: LD_VAR 0 4
12374: PPUSH
12375: LD_INT 31
12377: PPUSH
12378: LD_INT 0
12380: PPUSH
12381: CALL_OW 49
// tigers := tigers ^ tiger ;
12385: LD_ADDR_EXP 37
12389: PUSH
12390: LD_EXP 37
12394: PUSH
12395: LD_VAR 0 4
12399: ADD
12400: ST_TO_ADDR
// l = l + 1 ;
12401: LD_ADDR_VAR 0 2
12405: PUSH
12406: LD_VAR 0 2
12410: PUSH
12411: LD_INT 1
12413: PLUS
12414: ST_TO_ADDR
// end until l = [ 1 , 2 , 3 ] [ Difficulty ] ;
12415: LD_VAR 0 2
12419: PUSH
12420: LD_INT 1
12422: PUSH
12423: LD_INT 2
12425: PUSH
12426: LD_INT 3
12428: PUSH
12429: EMPTY
12430: LIST
12431: LIST
12432: LIST
12433: PUSH
12434: LD_OWVAR 67
12438: ARRAY
12439: EQUAL
12440: IFFALSE 12312
// l = 0 ;
12442: LD_ADDR_VAR 0 2
12446: PUSH
12447: LD_INT 0
12449: ST_TO_ADDR
// repeat begin hc_class = class_phororhacos ;
12450: LD_ADDR_OWVAR 28
12454: PUSH
12455: LD_INT 18
12457: ST_TO_ADDR
// hc_gallery = nature ;
12458: LD_ADDR_OWVAR 33
12462: PUSH
12463: LD_STRING nature
12465: ST_TO_ADDR
// hc_face_number = 1 ;
12466: LD_ADDR_OWVAR 34
12470: PUSH
12471: LD_INT 1
12473: ST_TO_ADDR
// bird = CreateHuman ;
12474: LD_ADDR_VAR 0 5
12478: PUSH
12479: CALL_OW 44
12483: ST_TO_ADDR
// PlaceUnitArea ( bird , MapA , false ) ;
12484: LD_VAR 0 5
12488: PPUSH
12489: LD_INT 31
12491: PPUSH
12492: LD_INT 0
12494: PPUSH
12495: CALL_OW 49
// birds := birds ^ bird ;
12499: LD_ADDR_EXP 38
12503: PUSH
12504: LD_EXP 38
12508: PUSH
12509: LD_VAR 0 5
12513: ADD
12514: ST_TO_ADDR
// l = l + 1 ;
12515: LD_ADDR_VAR 0 2
12519: PUSH
12520: LD_VAR 0 2
12524: PUSH
12525: LD_INT 1
12527: PLUS
12528: ST_TO_ADDR
// end until l = 4 ;
12529: LD_VAR 0 2
12533: PUSH
12534: LD_INT 4
12536: EQUAL
12537: IFFALSE 12450
// l = 0 ;
12539: LD_ADDR_VAR 0 2
12543: PUSH
12544: LD_INT 0
12546: ST_TO_ADDR
// end ; end_of_file
12547: LD_VAR 0 1
12551: RET
// export LicznikObrony ; every 0 0$1 trigger GetLives ( o1 ) <= 250 or GetSide ( o1 ) = 8 do
12552: LD_INT 662
12554: PPUSH
12555: CALL_OW 256
12559: PUSH
12560: LD_INT 250
12562: LESSEQUAL
12563: PUSH
12564: LD_INT 662
12566: PPUSH
12567: CALL_OW 255
12571: PUSH
12572: LD_INT 8
12574: EQUAL
12575: OR
12576: IFFALSE 12596
12578: GO 12580
12580: DISABLE
// begin disable ;
12581: DISABLE
// LicznikObrony = LicznikObrony + 1 ;
12582: LD_ADDR_EXP 39
12586: PUSH
12587: LD_EXP 39
12591: PUSH
12592: LD_INT 1
12594: PLUS
12595: ST_TO_ADDR
// end ;
12596: END
// every 0 0$1 trigger GetLives ( o2 ) <= 250 or GetSide ( o2 ) = 8 do
12597: LD_INT 660
12599: PPUSH
12600: CALL_OW 256
12604: PUSH
12605: LD_INT 250
12607: LESSEQUAL
12608: PUSH
12609: LD_INT 660
12611: PPUSH
12612: CALL_OW 255
12616: PUSH
12617: LD_INT 8
12619: EQUAL
12620: OR
12621: IFFALSE 12641
12623: GO 12625
12625: DISABLE
// begin disable ;
12626: DISABLE
// LicznikObrony = LicznikObrony + 1 ;
12627: LD_ADDR_EXP 39
12631: PUSH
12632: LD_EXP 39
12636: PUSH
12637: LD_INT 1
12639: PLUS
12640: ST_TO_ADDR
// end ;
12641: END
// every 0 0$1 trigger GetLives ( o3 ) <= 250 or GetSide ( o3 ) = 8 do
12642: LD_INT 693
12644: PPUSH
12645: CALL_OW 256
12649: PUSH
12650: LD_INT 250
12652: LESSEQUAL
12653: PUSH
12654: LD_INT 693
12656: PPUSH
12657: CALL_OW 255
12661: PUSH
12662: LD_INT 8
12664: EQUAL
12665: OR
12666: IFFALSE 12686
12668: GO 12670
12670: DISABLE
// begin disable ;
12671: DISABLE
// LicznikObrony = LicznikObrony + 1 ;
12672: LD_ADDR_EXP 39
12676: PUSH
12677: LD_EXP 39
12681: PUSH
12682: LD_INT 1
12684: PLUS
12685: ST_TO_ADDR
// end ;
12686: END
// every 0 0$1 trigger GetLives ( arbar1 ) <= 250 or GetSide ( arbar1 ) = 8 do
12687: LD_INT 658
12689: PPUSH
12690: CALL_OW 256
12694: PUSH
12695: LD_INT 250
12697: LESSEQUAL
12698: PUSH
12699: LD_INT 658
12701: PPUSH
12702: CALL_OW 255
12706: PUSH
12707: LD_INT 8
12709: EQUAL
12710: OR
12711: IFFALSE 12731
12713: GO 12715
12715: DISABLE
// begin disable ;
12716: DISABLE
// LicznikObrony = LicznikObrony + 1 ;
12717: LD_ADDR_EXP 39
12721: PUSH
12722: LD_EXP 39
12726: PUSH
12727: LD_INT 1
12729: PLUS
12730: ST_TO_ADDR
// end ;
12731: END
